|
Prism Ruby parser
|
MultiWriteNode. More...
#include <ast.h>


Data Fields | |
| pm_node_t | base |
| The embedded base node. | |
| struct pm_node_list | lefts |
| MultiWriteNode::lefts. | |
| struct pm_node * | rest |
| MultiWriteNode::rest. | |
| struct pm_node_list | rights |
| MultiWriteNode::rights. | |
| pm_location_t | lparen_loc |
| MultiWriteNode::lparen_loc. | |
| pm_location_t | rparen_loc |
| MultiWriteNode::rparen_loc. | |
| pm_location_t | operator_loc |
| MultiWriteNode::operator_loc. | |
| struct pm_node * | value |
| MultiWriteNode::value. | |
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. | |
MultiWriteNode.
Represents a write to a multi-target expression.
a, b, c = 1, 2, 3 ^^^^^^^^^^^^^^^^^
Type: PM_MULTI_WRITE_NODE
| struct pm_node_list pm_multi_write_node::lefts |
MultiWriteNode::lefts.
Represents the targets expressions before a splat node.
a, b, * = 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_write_node::rest |
MultiWriteNode::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_write_node::rights |
MultiWriteNode::rights.
Represents the targets expressions after a splat node.
a, *, b, c = 1, 2, 3, 4, 5
^^^^
| pm_location_t pm_multi_write_node::lparen_loc |
MultiWriteNode::lparen_loc.
The location of the opening parenthesis.
(a, b, c) = 1, 2, 3 ^
| pm_location_t pm_multi_write_node::rparen_loc |
MultiWriteNode::rparen_loc.
The location of the closing parenthesis.
(a, b, c) = 1, 2, 3
^
| pm_location_t pm_multi_write_node::operator_loc |
MultiWriteNode::operator_loc.
The location of the operator.
a, b, c = 1, 2, 3
^
| struct pm_node* pm_multi_write_node::value |
MultiWriteNode::value.
The value to write to the targets. It can be any non-void expression.
a, b, c = 1, 2, 3
^^^^^^^