Ruby 4.1.0dev (2026-03-25 revision 9a857c54137904efe0dbe70c80f912548f6e19c1)
Data Fields
pm_alternation_pattern_node Struct Reference

AlternationPatternNode. More...

#include <ast.h>

Data Fields

pm_node_t base
 The embedded base node.
 
PM_NODE_ALIGNAS struct pm_nodeleft
 AlternationPatternNode::left.
 
PM_NODE_ALIGNAS struct pm_noderight
 AlternationPatternNode::right.
 
pm_location_t operator_loc
 AlternationPatternNode::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.
 

Detailed Description

AlternationPatternNode.

Represents an alternation pattern in pattern matching.

foo => bar | baz
       ^^^^^^^^^

Type: PM_ALTERNATION_PATTERN_NODE

Definition at line 1244 of file ast.h.

Field Documentation

◆ base

pm_node_t pm_alternation_pattern_node::base

The embedded base node.

Definition at line 1246 of file ast.h.

◆ left

PM_NODE_ALIGNAS struct pm_node* pm_alternation_pattern_node::left

AlternationPatternNode::left.

Represents the left side of the expression.

foo => bar | baz
       ^^^

Definition at line 1256 of file ast.h.

Referenced by pm_visit_child_nodes().

◆ operator_loc

pm_location_t pm_alternation_pattern_node::operator_loc

AlternationPatternNode::operator_loc.

Represents the alternation operator Location.

foo => bar | baz
           ^

Definition at line 1276 of file ast.h.

◆ right

PM_NODE_ALIGNAS struct pm_node* pm_alternation_pattern_node::right

AlternationPatternNode::right.

Represents the right side of the expression.

foo => bar | baz
             ^^^

Definition at line 1266 of file ast.h.

Referenced by pm_visit_child_nodes().


The documentation for this struct was generated from the following file: