Sha256: 57b0067c5f82658db5131300348db094157f8a03ee39fd871b97f5b0cb23658f

Contents?: true

Size: 755 Bytes

Versions: 5

Compression:

Stored size: 755 Bytes

Contents

# frozen_string_literal: true

require "parser/builders/default"
require_relative "meta"

module Parser
  # Add RubyNext specific builder methods
  module Builders::Next
    def method_ref(receiver, dot_t, selector_t)
      n(:meth_ref, [ receiver, value(selector_t).to_sym ],
          send_map(receiver, dot_t, selector_t, nil, [], nil))
    end

    def match_var(var)
      return super(var) unless var.is_a?(::Parser::AST::Node)

      n(:match_var, [ var ],
        var_send_map(var))
    end

    def check_reserved_for_numparam(name, loc)
      # We don't want to raise SyntaxError, 'cause we want to use _x vars for older Rubies.
      # The exception should be raised by Ruby itself for versions supporting numbered parameters
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ruby-next-parser-3.2.2.0 lib/parser/ruby-next/builder.rb
ruby-next-parser-3.1.1.3 lib/parser/ruby-next/builder.rb
ruby-next-parser-3.1.1.2 lib/parser/ruby-next/builder.rb
ruby-next-parser-3.1.1.1 lib/parser/ruby-next/builder.rb
ruby-next-parser-3.1.1.0 lib/parser/ruby-next/builder.rb