Class: SyntaxTree::LabelEnd
- Inherits:
-
Node
- Object
- Node
- SyntaxTree::LabelEnd
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, #end_char, #format, #pretty_print, #start_char, #to_json, #to_mermaid
Constructor Details
#initialize(value:, location:) ⇒ LabelEnd
7125
7126
7127
7128
|
# File 'lib/syntax_tree/node.rb', line 7125
def initialize(value:, location:)
@value = value
@location = location
end
|
Instance Attribute Details
#value ⇒ Object
- String
-
the end of the label
7123
7124
7125
|
# File 'lib/syntax_tree/node.rb', line 7123
def value
@value
end
|
Instance Method Details
#===(other) ⇒ Object
7151
7152
7153
|
# File 'lib/syntax_tree/node.rb', line 7151
def ===(other)
other.is_a?(LabelEnd) && value === other.value
end
|
#accept(visitor) ⇒ Object
7130
7131
7132
|
# File 'lib/syntax_tree/node.rb', line 7130
def accept(visitor)
visitor.visit_label_end(self)
end
|
#child_nodes ⇒ Object
Also known as:
deconstruct
7134
7135
7136
|
# File 'lib/syntax_tree/node.rb', line 7134
def child_nodes
[]
end
|
#copy(value: nil, location: nil) ⇒ Object
7138
7139
7140
7141
7142
7143
|
# File 'lib/syntax_tree/node.rb', line 7138
def copy(value: nil, location: nil)
LabelEnd.new(
value: value || self.value,
location: location || self.location
)
end
|
#deconstruct_keys(_keys) ⇒ Object
7147
7148
7149
|
# File 'lib/syntax_tree/node.rb', line 7147
def deconstruct_keys(_keys)
{ value: value, location: location }
end
|