#[repr(C)]pub struct pm_multi_write_node {
pub base: pm_node_t,
pub lefts: pm_node_list,
pub rest: *mut pm_node,
pub rights: pm_node_list,
pub lparen_loc: pm_location_t,
pub rparen_loc: pm_location_t,
pub operator_loc: pm_location_t,
pub value: *mut pm_node,
}
Expand description
MultiWriteNode
Represents a write to a multi-target expression.
a, b, c = 1, 2, 3
^^^^^^^^^^^^^^^^^
Type: ::PM_MULTI_WRITE_NODE
@extends pm_node_t
Fields§
§base: pm_node_t
The embedded base node.
lefts: pm_node_list
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
^^^^^^^
rest: *mut pm_node
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
^
rights: pm_node_list
MultiWriteNode#rights
Represents the targets expressions after a splat node.
a, *, b, c = 1, 2, 3, 4, 5
^^^^
lparen_loc: pm_location_t
MultiWriteNode#lparen_loc
The location of the opening parenthesis.
(a, b, c) = 1, 2, 3
^
rparen_loc: pm_location_t
MultiWriteNode#rparen_loc
The location of the closing parenthesis.
(a, b, c) = 1, 2, 3
^
operator_loc: pm_location_t
MultiWriteNode#operator_loc
The location of the operator.
a, b, c = 1, 2, 3
^
value: *mut pm_node
MultiWriteNode#value
The value to write to the targets. It can be any non-void expression.
a, b, c = 1, 2, 3
^^^^^^^
Trait Implementations§
Source§impl Clone for pm_multi_write_node
impl Clone for pm_multi_write_node
Source§fn clone(&self) -> pm_multi_write_node
fn clone(&self) -> pm_multi_write_node
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more