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.



5890
5891
5892
5893
# File 'lib/syntax_tree/node.rb', line 5890

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

Instance Attribute Details

#value ⇒ Object (readonly)

[String] the end of the label



5888
5889
5890
# File 'lib/syntax_tree/node.rb', line 5888

def value
  @value
end

Instance Method Details

#accept(visitor) ⇒ Object



5895
5896
5897
# File 'lib/syntax_tree/node.rb', line 5895

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

#child_nodes ⇒ Object Also known as: deconstruct



5899
5900
5901
# File 'lib/syntax_tree/node.rb', line 5899

def child_nodes
  []
end

#deconstruct_keys(_keys) ⇒ Object



5905
5906
5907
# File 'lib/syntax_tree/node.rb', line 5905

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