|
Ruby 4.1.0dev (2026-03-26 revision 2ca2865aa194cf832b205f530b4fb440166aea68)
|
ClassVariableWriteNode. More...
#include <ast.h>
Data Fields | |
| pm_node_t | base |
| The embedded base node. | |
| pm_constant_id_t | name |
| ClassVariableWriteNode::name. | |
| pm_location_t | name_loc |
| ClassVariableWriteNode::name_loc. | |
| PM_NODE_ALIGNAS struct pm_node * | value |
| ClassVariableWriteNode::value. | |
| pm_location_t | operator_loc |
| ClassVariableWriteNode::operator_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. | |
ClassVariableWriteNode.
Represents writing to a class variable.
@@foo = 1 ^^^^^^^^^
Type: PM_CLASS_VARIABLE_WRITE_NODE
| pm_node_t pm_class_variable_write_node::base |
| pm_constant_id_t pm_class_variable_write_node::name |
ClassVariableWriteNode::name.
The name of the class variable, which is a @@ followed by an identifier.
@@abc = 123 # name `@@abc` @@_test = :test # name `@@_test`
| pm_location_t pm_class_variable_write_node::name_loc |
| pm_location_t pm_class_variable_write_node::operator_loc |
| PM_NODE_ALIGNAS struct pm_node* pm_class_variable_write_node::value |
ClassVariableWriteNode::value.
The value to write to the class variable. This can be any non-void expression.
@@foo = :bar
^^^^
@@_xyz = 123
^^^
Definition at line 3022 of file ast.h.
Referenced by pm_visit_child_nodes().