Sha256: 0cc7fea06d52f95ecb2ebcfe0e2478c3c439c205310e13d33e5f2f5d66dbee0e

Contents?: true

Size: 567 Bytes

Versions: 12

Compression:

Stored size: 567 Bytes

Contents

# frozen_string_literal: true

require_relative "lexer"
require_relative "builder"
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

12 entries across 12 versions & 1 rubygems

Version Path
ruby-next-parser-3.1.1.3 lib/parser/ruby-next/parser_ext.rb
ruby-next-parser-3.1.1.2 lib/parser/ruby-next/parser_ext.rb
ruby-next-parser-3.1.1.1 lib/parser/ruby-next/parser_ext.rb
ruby-next-parser-3.1.1.0 lib/parser/ruby-next/parser_ext.rb
ruby-next-parser-3.1.0.1 lib/parser/ruby-next/parser_ext.rb
ruby-next-parser-3.1.0.0 lib/parser/ruby-next/parser_ext.rb
ruby-next-parser-3.0.1.0 lib/parser/ruby-next/parser_ext.rb
ruby-next-parser-3.0.0.3 lib/parser/ruby-next/parser_ext.rb
ruby-next-parser-3.0.0.2 lib/parser/ruby-next/parser_ext.rb
ruby-next-parser-3.0.0.1 lib/parser/ruby-next/parser_ext.rb
ruby-next-parser-3.0.0.0 lib/parser/ruby-next/parser_ext.rb
ruby-next-parser-2.8.0.9 lib/parser/ruby-next/parser_ext.rb