Sha256: f51f9888538e1fcaca46f34684629caa165d64b7c11b672c11f01321ca2b1ae8

Contents?: true

Size: 670 Bytes

Versions: 1

Compression:

Stored size: 670 Bytes

Contents

# frozen_string_literal: true

require_relative "lexer"
require_relative "builder"
require_relative "source/map/method_definition" unless defined?(Parser::Source::Map::MethodDefinition)
require_relative "ast/processor"

module Parser
  # Patch the base parser class to use custom builder and lexer
  module NextExt
    def initialize(*)
      super

      # Extend builder
      @builder.singleton_class.prepend(Builders::Next)

      # Use custom lexer
      @lexer = Lexer::Next.new(version)
      @lexer.diagnostics = @diagnostics
      @lexer.static_env  = @static_env
      @lexer.context     = @context

      # Reset the state again
      reset
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruby-next-parser-2.8.0.8 lib/parser/ruby-next/parser_ext.rb