Ruby: pm_begin_node Struct Reference

Ruby 3.4.8p72 (2025-12-17 revision 995b59f66677d44767ce9faac6957e5543617ff9)

Data Fields
pm_begin_node Struct Reference

BeginNode. More...

`#include <ast.h>`

## Data Fields
pm_node_t | base
| The embedded base node.
pm_location_t | begin_keyword_loc
| BeginNode#begin_keyword_loc.
struct pm_statements_node * | statements
| BeginNode#statements.
struct pm_rescue_node * | rescue_clause
| BeginNode#rescue_clause.
struct pm_else_node * | else_clause
| BeginNode#else_clause.
struct pm_ensure_node * | ensure_clause
| BeginNode#ensure_clause.
pm_location_t | end_keyword_loc
| BeginNode#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

BeginNode.

Represents a begin statement.

    begin
      foo
    end
    ^^^^^

Type: ::PM_BEGIN_NODE

Definition at line 1625 of file ast.h.

## Field Documentation

## ◆ base

pm_node_t pm_begin_node::base

The embedded base node.

Definition at line 1627 of file ast.h.

Referenced by pm_dump_json().

## ◆ begin_keyword_loc

pm_location_t pm_begin_node::begin_keyword_loc

BeginNode#begin_keyword_loc.

Represents the location of the begin keyword.

    begin x end
    ^^^^^

Definition at line 1638 of file ast.h.

Referenced by pm_dump_json().

## ◆ else_clause

struct pm_else_node* pm_begin_node::else_clause

BeginNode#else_clause.

Represents the else clause within the begin block.

    begin x; rescue y; else z; end
                       ^^^^^^

Definition at line 1668 of file ast.h.

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

## ◆ end_keyword_loc

pm_location_t pm_begin_node::end_keyword_loc

BeginNode#end_keyword_loc.

Represents the location of the end keyword.

    begin x end
            ^^^

Definition at line 1688 of file ast.h.

Referenced by pm_dump_json().

## ◆ ensure_clause

struct pm_ensure_node* pm_begin_node::ensure_clause

BeginNode#ensure_clause.

Represents the ensure clause within the begin block.

    begin x; ensure y; end
             ^^^^^^^^

Definition at line 1678 of file ast.h.

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

## ◆ rescue_clause

struct pm_rescue_node* pm_begin_node::rescue_clause

BeginNode#rescue_clause.

Represents the rescue clause within the begin block.

    begin x; rescue y; end
             ^^^^^^^^

Definition at line 1658 of file ast.h.

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

## ◆ statements

struct pm_statements_node* pm_begin_node::statements

BeginNode#statements.

Represents the statements within the begin block.

    begin x end
          ^

Definition at line 1648 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