Ruby
3.4.0dev (2024-12-06 revision 892c46283a5ea4179500d951c9d4866c0051f27b)
|
MultiTargetNode. More...
#include <ast.h>
Data Fields | |
pm_node_t | base |
The embedded base node. More... | |
struct pm_node_list | lefts |
MultiTargetNode::lefts. More... | |
struct pm_node * | rest |
MultiTargetNode::rest. More... | |
struct pm_node_list | rights |
MultiTargetNode::rights. More... | |
pm_location_t | lparen_loc |
MultiTargetNode::lparen_loc. More... | |
pm_location_t | rparen_loc |
MultiTargetNode::rparen_loc. More... | |
Data Fields inherited from pm_node | |
pm_node_type_t | type |
This represents the type of the node. More... | |
pm_node_flags_t | flags |
This represents any flags on the node. More... | |
uint32_t | node_id |
The unique identifier for this node, which is deterministic based on the source. More... | |
pm_location_t | location |
This is the location of the node in the source. More... | |
MultiTargetNode.
Represents a multi-target expression.
a, (b, c) = 1, 2, 3 ^^^^^^
This can be a part of MultiWriteNode
as above, or the target of a for
loop
for a, b in [[1, 2], [3, 4]] ^^^^
Type: PM_MULTI_TARGET_NODE
struct pm_node_list pm_multi_target_node::lefts |
MultiTargetNode::lefts.
Represents the targets expressions before a splat node.
a, (b, c, *) = 1, 2, 3, 4, 5 ^^^^
The splat node can be absent, in that case all target expressions are in the left field.
a, (b, c) = 1, 2, 3, 4, 5 ^^^^
Definition at line 5947 of file ast.h.
Referenced by pm_node_destroy(), and pm_visit_child_nodes().
pm_location_t pm_multi_target_node::lparen_loc |
struct pm_node* pm_multi_target_node::rest |
MultiTargetNode::rest.
Represents a splat node in the target expression.
a, (b, *c) = 1, 2, 3, 4 ^^
The variable can be empty, this results in a SplatNode
with a nil
expression field.
a, (b, *) = 1, 2, 3, 4 ^
If the *
is omitted, this field will contain an ImplicitRestNode
a, (b,) = 1, 2, 3, 4 ^
Definition at line 5983 of file ast.h.
Referenced by pm_node_destroy(), and pm_visit_child_nodes().
struct pm_node_list pm_multi_target_node::rights |
MultiTargetNode::rights.
Represents the targets expressions after a splat node.
a, (*, b, c) = 1, 2, 3, 4, 5 ^^^^
Definition at line 5983 of file ast.h.
Referenced by pm_node_destroy(), and pm_visit_child_nodes().
pm_location_t pm_multi_target_node::rparen_loc |