Class: SyntaxTree::LabelEnd

Inherits:
Node
  • Object
show all
Defined in:
lib/syntax_tree/node.rb

Overview

LabelEnd represents the end of a dynamic symbol.

{ "key": value }

In the example above, LabelEnd represents the “\”:“ token at the end of the hash key. This node is important for determining the type of quote being used by the label.

Instance Attribute Summary collapse

Attributes inherited from Node

#location

Instance Method Summary collapse

Methods inherited from Node

#construct_keys, #format, #pretty_print, #to_json

Constructor Details

#initialize(value:, location:) ⇒ LabelEnd

Returns a new instance of LabelEnd.



5934
5935
5936
5937
# File 'lib/syntax_tree/node.rb', line 5934

def initialize(value:, location:)
  @value = value
  @location = location
end

Instance Attribute Details

#valueObject (readonly)

String

the end of the label



5932
5933
5934
# File 'lib/syntax_tree/node.rb', line 5932

def value
  @value
end

Instance Method Details

#accept(visitor) ⇒ Object



5939
5940
5941
# File 'lib/syntax_tree/node.rb', line 5939

def accept(visitor)
  visitor.visit_label_end(self)
end

#child_nodesObject Also known as: deconstruct



5943
5944
5945
# File 'lib/syntax_tree/node.rb', line 5943

def child_nodes
  []
end

#deconstruct_keys(_keys) ⇒ Object



5949
5950
5951
# File 'lib/syntax_tree/node.rb', line 5949

def deconstruct_keys(_keys)
  { value: value, location: location }
end