Class: RubyModKit::Node::ParameterNode

Inherits:
BaseNode
  • Object
show all
Defined in:
lib/ruby_mod_kit/node/parameter_node.rb

Overview

Transpiler program node

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from BaseNode

#ancestors, #children, #def_node_at, #def_parent_node_at, #end_offset, #include?, #inspect, #location, #node_at, #offset, #parameter_node_at, #slice, #statements_node_at, #wrap

Constructor Details

#initialize(prism_node, parent:, prev: nil) ⇒ void

Parameters:

rbs:

  • prism_node: prism_node

  • parent: Node::BaseNode

  • prev: Node::BaseNode | nil

  • return: void



30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/ruby_mod_kit/node/parameter_node.rb', line 30

def initialize(prism_node, parent:, prev: nil)
  @prism_node = prism_node
  @parent = parent
  @prev = prev
  case prism_node
  when Prism::RequiredParameterNode, Prism::OptionalKeywordParameterNode,
       Prism::OptionalParameterNode, Prism::RequiredKeywordParameterNode,
       Prism::RestParameterNode, Prism::BlockParameterNode
    super()
  else
    raise RubyModKit::Error, "unexpected prism node #{prism_node.class}"
  end
end

Instance Attribute Details

#parentObject (readonly)

: Node::BaseNode



19
20
21
# File 'lib/ruby_mod_kit/node/parameter_node.rb', line 19

def parent
  @parent
end

#prevObject (readonly)

: Node::BaseNode | nil



20
21
22
# File 'lib/ruby_mod_kit/node/parameter_node.rb', line 20

def prev
  @prev
end

Instance Method Details

#nameSymbol?

Returns:

  • (Symbol, nil)

rbs:

  • return: Symbol | nil



46
47
48
# File 'lib/ruby_mod_kit/node/parameter_node.rb', line 46

def name
  @prism_node.name
end