Prism Ruby parser
|
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. | |
![]() | |
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
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] ^^^^^^^^
struct pm_node_list pm_hash_pattern_node::elements |
HashPatternNode::elements.
Represents the explicit named hash keys and values.
foo => { a: 1, b:, ** } ^^^^^^^^
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 } ^^^^^
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] ^
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] ^