#[repr(C)]pub struct pm_local_variable_write_node {
pub base: pm_node_t,
pub name: pm_constant_id_t,
pub depth: u32,
pub name_loc: pm_location_t,
pub value: *mut pm_node,
pub operator_loc: pm_location_t,
}Expand description
LocalVariableWriteNode
Represents writing to a local variable.
foo = 1
^^^^^^^Type: ::PM_LOCAL_VARIABLE_WRITE_NODE
@extends pm_node_t
Fields§
§base: pm_node_tThe embedded base node.
name: pm_constant_id_tLocalVariableWriteNode#name
The name of the local variable, which is an identifier.
foo = :bar # name `:foo` abc = 123 # name `:abc`depth: u32LocalVariableWriteNode#depth
The number of semantic scopes we have to traverse to find the declaration of this variable.
foo = 1 # depth 0 tap { foo = 1 } # depth 1The specific rules for calculating the depth may differ from individual Ruby implementations, as they are not specified by the language. For more information, see the Prism documentation.
name_loc: pm_location_tLocalVariableWriteNode#name_loc
The location of the variable name.
foo = :bar
^^^value: *mut pm_nodeLocalVariableWriteNode#value
The value to write to the local variable. It can be any non-void expression.
foo = :bar
^^^^ abc = 1234
^^^^Note that since the name of a local variable is known before the value is parsed, it is valid for a local variable to appear within the value of its own write.
foo = foooperator_loc: pm_location_tLocalVariableWriteNode#operator_loc
The location of the = operator.
x = :y
^Trait Implementations§
Source§impl Clone for pm_local_variable_write_node
impl Clone for pm_local_variable_write_node
Source§fn clone(&self) -> pm_local_variable_write_node
fn clone(&self) -> pm_local_variable_write_node
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more