Class: RubyModKit::Node::SymbolNode

Inherits:
BaseNode
  • Object
show all
Defined in:
lib/ruby_mod_kit/node/symbol_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, #name, #node_at, #offset, #parameter_node_at, #slice, #statements_node_at, #wrap

Constructor Details

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

Parameters:

  • (defaults to: nil)

Raises:

rbs:

  • prism_node: Prism::SymbolNode

  • parent: Node::BaseNode

  • prev: Node::BaseNode | nil

  • return: void



26
27
28
29
30
31
32
33
# File 'lib/ruby_mod_kit/node/symbol_node.rb', line 26

def initialize(prism_node, parent:, prev: nil)
  @prism_node = prism_node
  @parent = parent
  @prev = prev
  raise RubyModKit::Error unless prism_node.is_a?(Prism::SymbolNode)

  super()
end

Instance Attribute Details

#parentObject (readonly)

: Node::BaseNode



15
16
17
# File 'lib/ruby_mod_kit/node/symbol_node.rb', line 15

def parent
  @parent
end

#prevObject (readonly)

: Node::BaseNode | nil



16
17
18
# File 'lib/ruby_mod_kit/node/symbol_node.rb', line 16

def prev
  @prev
end

Instance Method Details

#valueSymbol?

Returns:

rbs:

  • return: Symbol | nil



37
38
39
40
41
# File 'lib/ruby_mod_kit/node/symbol_node.rb', line 37

def value
  return @value if defined?(@value)

  @value = @prism_node.value&.to_sym
end