| Ruby 3.5.0dev (2025-10-30 revision 481f994449f35ce4050757561e89a776903ee425)
    | 
HashPatternNode. More...
#include <ast.h>
| Data Fields | |
| pm_node_t | base | 
| The embedded base node. | |
| struct pm_node * | constant | 
| HashPatternNode::constant. | |
| struct pm_node_list | elements | 
| HashPatternNode::elements. | |
| struct pm_node * | rest | 
| HashPatternNode::rest. | |
| pm_location_t | opening_loc | 
| HashPatternNode::opening_loc. | |
| pm_location_t | closing_loc | 
| HashPatternNode::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. | |
HashPatternNode.
Represents a hash pattern in pattern matching.
foo => { a: 1, b: 2 }
       ^^^^^^^^^^^^^^
foo => { a: 1, b: 2, **c }
       ^^^^^^^^^^^^^^^^^^^
foo => Bar[a: 1, b: 2]
       ^^^^^^^^^^^^^^^
foo in { a: 1, b: 2 }
       ^^^^^^^^^^^^^^
Type: PM_HASH_PATTERN_NODE
| pm_node_t pm_hash_pattern_node::base | 
| pm_location_t pm_hash_pattern_node::closing_loc | 
HashPatternNode::closing_loc.
The location of the closing brace.
foo => { a: 1 }
              ^
foo => Bar[a: 1]
               ^
 
Definition at line 4488 of file ast.h.
Referenced by pm_dump_json().
| struct pm_node* pm_hash_pattern_node::constant | 
HashPatternNode::constant.
Represents the optional constant preceding the Hash.
foo => Bar[a: 1, b: 2]
     ^^^
foo => Bar::Baz[a: 1, b: 2]
     ^^^^^^^^
 
Definition at line 4436 of file ast.h.
Referenced by pm_dump_json(), pm_node_destroy(), and pm_visit_child_nodes().
| struct pm_node_list pm_hash_pattern_node::elements | 
HashPatternNode::elements.
Represents the explicit named hash keys and values.
foo => { a: 1, b:, ** }
         ^^^^^^^^
 
Definition at line 4446 of file ast.h.
Referenced by pm_dump_json(), pm_node_destroy(), and pm_visit_child_nodes().
| pm_location_t pm_hash_pattern_node::opening_loc | 
HashPatternNode::opening_loc.
The location of the opening brace.
foo => { a: 1 }
       ^
foo => Bar[a: 1]
          ^
 
Definition at line 4475 of file ast.h.
Referenced by pm_dump_json().
| struct pm_node* pm_hash_pattern_node::rest | 
HashPatternNode::rest.
Represents the rest of the Hash keys and values. This can be named, unnamed, or explicitly forbidden via **nil, this last one results in a NoKeywordsParameterNode. 
foo => { a: 1, b:, **c }
                   ^^^
foo => { a: 1, b:, ** }
                   ^^
foo => { a: 1, b:, **nil }
                   ^^^^^
 
Definition at line 4462 of file ast.h.
Referenced by pm_dump_json(), pm_node_destroy(), and pm_visit_child_nodes().