| Ruby 3.5.0dev (2025-10-31 revision a6379032ee98bc43fb68ce7a6c186f3512558ce0)
    | 
FindPatternNode. More...
#include <ast.h>
| Data Fields | |
| pm_node_t | base | 
| The embedded base node. | |
| struct pm_node * | constant | 
| FindPatternNode::constant. | |
| struct pm_splat_node * | left | 
| FindPatternNode::left. | |
| struct pm_node_list | requireds | 
| FindPatternNode::requireds. | |
| struct pm_node * | right | 
| FindPatternNode::right. | |
| pm_location_t | opening_loc | 
| FindPatternNode::opening_loc. | |
| pm_location_t | closing_loc | 
| FindPatternNode::closing_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. | |
FindPatternNode.
Represents a find pattern in pattern matching.
foo in *bar, baz, *qux
       ^^^^^^^^^^^^^^^
foo in [*bar, baz, *qux]
       ^^^^^^^^^^^^^^^^^
foo in Foo(*bar, baz, *qux)
       ^^^^^^^^^^^^^^^^^^^^
foo => *bar, baz, *qux
       ^^^^^^^^^^^^^^^
Type: PM_FIND_PATTERN_NODE
| pm_node_t pm_find_pattern_node::base | 
| pm_location_t pm_find_pattern_node::closing_loc | 
FindPatternNode::closing_loc.
The location of the closing brace.
foo in [*bar, baz, *qux]
                       ^
foo in Foo(*bar, baz, *qux)
                          ^
 
Definition at line 3899 of file ast.h.
Referenced by pm_dump_json().
| struct pm_node* pm_find_pattern_node::constant | 
FindPatternNode::constant.
Represents the optional constant preceding the pattern
foo in Foo(*bar, baz, *qux)
       ^^^
 
Definition at line 3834 of file ast.h.
Referenced by pm_dump_json(), pm_node_destroy(), and pm_visit_child_nodes().
| struct pm_splat_node* pm_find_pattern_node::left | 
FindPatternNode::left.
Represents the first wildcard node in the pattern.
foo in *bar, baz, *qux
       ^^^^
foo in Foo(*bar, baz, *qux)
           ^^^^
 
Definition at line 3847 of file ast.h.
Referenced by pm_dump_json(), pm_node_destroy(), and pm_visit_child_nodes().
| pm_location_t pm_find_pattern_node::opening_loc | 
FindPatternNode::opening_loc.
The location of the opening brace.
foo in [*bar, baz, *qux]
       ^
foo in Foo(*bar, baz, *qux)
          ^
 
Definition at line 3886 of file ast.h.
Referenced by pm_dump_json().
| struct pm_node_list pm_find_pattern_node::requireds | 
FindPatternNode::requireds.
Represents the nodes in between the wildcards.
foo in *bar, baz, *qux
             ^^^
foo in Foo(*bar, baz, 1, *qux)
                 ^^^^^^
 
Definition at line 3860 of file ast.h.
Referenced by pm_dump_json(), pm_node_destroy(), and pm_visit_child_nodes().
| struct pm_node* pm_find_pattern_node::right | 
FindPatternNode::right.
Represents the second wildcard node in the pattern.
foo in *bar, baz, *qux
                  ^^^^
foo in Foo(*bar, baz, *qux)
                      ^^^^
 
Definition at line 3873 of file ast.h.
Referenced by pm_dump_json(), pm_node_destroy(), and pm_visit_child_nodes().