pm_local_variable_read_node_t

Type Alias pm_local_variable_read_node_t 

Source
pub type pm_local_variable_read_node_t = pm_local_variable_read_node;
Expand description

LocalVariableReadNode

Represents reading a local variable. Note that this requires that a local variable of the same name has already been written to in the same scope, otherwise it is parsed as a method call.

 foo
 ^^^

Type: ::PM_LOCAL_VARIABLE_READ_NODE

@extends pm_node_t

Aliased Type§

#[repr(C)]
pub struct pm_local_variable_read_node_t { pub base: pm_node, pub name: u32, pub depth: u32, }

Fields§

§base: pm_node

The embedded base node.

§name: u32

LocalVariableReadNode#name

The name of the local variable, which is an identifier.

 x      # name `:x`
 _Test  # name `:_Test`

Note that this can also be an underscore followed by a number for the default block parameters.

 _1     # name `:_1`
§depth: u32

LocalVariableReadNode#depth

The number of visible scopes that should be searched to find the origin of this local variable.

 foo = 1; foo # depth 0
 bar = 2; tap { bar } # depth 1

The 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.