Ruby 3.4.5p51 (2025-07-16 revision 20cda200d3ce092571d0b5d342dadca69636cb0f)
|
ConstantPathNode. More...
#include <ast.h>
Data Fields | |
pm_node_t | base |
The embedded base node. | |
struct pm_node * | parent |
ConstantPathNode#parent. | |
pm_constant_id_t | name |
ConstantPathNode#name. | |
pm_location_t | delimiter_loc |
ConstantPathNode#delimiter_loc. | |
pm_location_t | name_loc |
ConstantPathNode#name_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. |
ConstantPathNode.
Represents accessing a constant through a path of :: operators.
Foo::Bar ^^^^^^^^
Type: PM_CONSTANT_PATH_NODE
pm_node_t pm_constant_path_node::base |
pm_location_t pm_constant_path_node::delimiter_loc |
ConstantPathNode#delimiter_loc.
The location of the :: delimiter.
::Foo ^^ One::Two ^^
Definition at line 3185 of file ast.h.
Referenced by pm_dump_json().
pm_constant_id_t pm_constant_path_node::name |
ConstantPathNode#name.
The name of the constant being accessed. This could be nil in the event of a syntax error.
Definition at line 3172 of file ast.h.
Referenced by pm_dump_json().
pm_location_t pm_constant_path_node::name_loc |
ConstantPathNode#name_loc.
The location of the name of the constant.
::Foo ^^^ One::Two ^^^
Definition at line 3198 of file ast.h.
Referenced by pm_dump_json().
struct pm_node* pm_constant_path_node::parent |
ConstantPathNode#parent.
The left-hand node of the path, if present. It can be nil or any non-void expression. It will be nil when the constant lookup is at the root of the module tree.
Foo::Bar ^^^ self::Test ^^^^ a.b::C ^^^
Definition at line 3165 of file ast.h.
Referenced by pm_dump_json(), pm_node_destroy(), and pm_visit_child_nodes().