Sha256: 18cf29f8f4a06eec02f18127fe5ed667251fe639796436b2e054dd6a5a837873

Contents?: true

Size: 583 Bytes

Versions: 2

Compression:

Stored size: 583 Bytes

Contents

# frozen_string_literal: true

require_relative "lexer"
require_relative "builder"
require_relative "source/map/endless_definition"

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

2 entries across 2 versions & 1 rubygems

Version Path
ruby-next-parser-2.8.0.2 lib/parser/ruby-next/parser_ext.rb
ruby-next-parser-2.8.0.1 lib/parser/ruby-next/parser_ext.rb