Ruby: pm_case_match_node Struct Reference

Ruby 4.0.5p0 (2026-05-20 revision 64336ffd0ee9e1f4c05891695a3d7b49cb709721)

Data Fields
pm_case_match_node Struct Reference

CaseMatchNode. More...

`#include <ast.h>`

## Data Fields
pm_node_t | base
| The embedded base node.
struct pm_node * | predicate
| CaseMatchNode#predicate.
struct pm_node_list | conditions
| CaseMatchNode#conditions.
struct pm_else_node * | else_clause
| CaseMatchNode#else_clause.
pm_location_t | case_keyword_loc
| CaseMatchNode#case_keyword_loc.
pm_location_t | end_keyword_loc
| CaseMatchNode#end_keyword_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

CaseMatchNode.

Represents the use of a case statement for pattern matching.

    case true
    in false
    end
    ^^^^^^^^^

Type: ::PM_CASE_MATCH_NODE

Definition at line 2578 of file ast.h.

## Field Documentation

## ◆ base

pm_node_t pm_case_match_node::base

The embedded base node.

Definition at line 2580 of file ast.h.

Referenced by pm_dump_json().

## ◆ case_keyword_loc

pm_location_t pm_case_match_node::case_keyword_loc

CaseMatchNode#case_keyword_loc.

Represents the location of the case keyword.

    case true; in false; end
    ^^^^

Definition at line 2621 of file ast.h.

Referenced by pm_dump_json().

## ◆ conditions

struct pm_node_list pm_case_match_node::conditions

CaseMatchNode#conditions.

Represents the conditions of the case match.

    case true; in false; end
               ^^^^^^^^

Definition at line 2601 of file ast.h.

Referenced by pm_dump_json(), pm_node_destroy(), and pm_visit_child_nodes().

## ◆ else_clause

struct pm_else_node* pm_case_match_node::else_clause

CaseMatchNode#else_clause.

Represents the else clause of the case match.

    case true; in false; else; end
                         ^^^^

Definition at line 2611 of file ast.h.

Referenced by pm_dump_json(), pm_node_destroy(), and pm_visit_child_nodes().

## ◆ end_keyword_loc

pm_location_t pm_case_match_node::end_keyword_loc

CaseMatchNode#end_keyword_loc.

Represents the location of the end keyword.

    case true; in false; end
                         ^^^

Definition at line 2631 of file ast.h.

Referenced by pm_dump_json().

## ◆ predicate

struct pm_node* pm_case_match_node::predicate

CaseMatchNode#predicate.

Represents the predicate of the case match. This can be either nil or any non-void expressions.

    case true; in false; end
    ^^^^

Definition at line 2591 of file ast.h.

Referenced by pm_dump_json(), pm_node_destroy(), and pm_visit_child_nodes().

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

- prism/ast.h