Prism Ruby parser
|
MultiTargetNode. More...
#include <ast.h>
Data Fields | |
pm_node_t | base |
The embedded base node. | |
struct pm_node_list | lefts |
MultiTargetNode::lefts. | |
struct pm_node * | rest |
MultiTargetNode::rest. | |
struct pm_node_list | rights |
MultiTargetNode::rights. | |
pm_location_t | lparen_loc |
MultiTargetNode::lparen_loc. | |
pm_location_t | rparen_loc |
MultiTargetNode::rparen_loc. | |
Data Fields inherited from pm_node | |
pm_node_type_t | type |
This represents the type of the node. | |
pm_node_flags_t | flags |
This represents any flags on the node. | |
uint32_t | node_id |
The unique identifier for this node, which is deterministic based on the source. | |
pm_location_t | location |
This is the location of the node in the source. | |
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 ^^^^
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 ^
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 ^^^^
pm_location_t pm_multi_target_node::lparen_loc |
MultiTargetNode::lparen_loc.
The location of the opening parenthesis.
a, (b, c) = 1, 2, 3 ^
pm_location_t pm_multi_target_node::rparen_loc |
MultiTargetNode::rparen_loc.
The location of the closing parenthesis.
a, (b, c) = 1, 2, 3 ^