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.



6124
6125
6126
6127
# File 'lib/syntax_tree/node.rb', line 6124

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

Instance Attribute Details

#valueObject (readonly)

String

the end of the label



6122
6123
6124
# File 'lib/syntax_tree/node.rb', line 6122

def value
  @value
end

Instance Method Details

#accept(visitor) ⇒ Object



6129
6130
6131
# File 'lib/syntax_tree/node.rb', line 6129

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

#child_nodesObject Also known as: deconstruct



6133
6134
6135
# File 'lib/syntax_tree/node.rb', line 6133

def child_nodes
  []
end

#deconstruct_keys(_keys) ⇒ Object



6139
6140
6141
# File 'lib/syntax_tree/node.rb', line 6139

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