Ruby: pm_assoc_node Struct Reference

Ruby 3.4.9p82 (2026-03-11 revision 76cca827ab52ab1d346a728f068d5b8da3e2952b)

Data Fields
pm_assoc_node Struct Reference

AssocNode. More...

`#include <ast.h>`

## Data Fields
pm_node_t | base
| The embedded base node.
struct pm_node * | key
| AssocNode#key.
struct pm_node * | value
| AssocNode#value.
pm_location_t | operator_loc
| AssocNode#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

AssocNode.

Represents a hash key/value pair.

    { a => b }
      ^^^^^^

Type: ::PM_ASSOC_NODE

Definition at line 1499 of file ast.h.

## Field Documentation

## ◆ base

pm_node_t pm_assoc_node::base

The embedded base node.

Definition at line 1501 of file ast.h.

Referenced by pm_dump_json().

## ◆ key

struct pm_node* pm_assoc_node::key

AssocNode#key.

The key of the association. This can be any non-void expression.

    { a: b }
      ^

    { foo => bar }
      ^^^

    { def a; end => 1 }
      ^^^^^^^^^^

Definition at line 1518 of file ast.h.

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

## ◆ operator_loc

pm_location_t pm_assoc_node::operator_loc

AssocNode#operator_loc.

The location of the => operator, if present.

    { foo => bar }
          ^^

Definition at line 1541 of file ast.h.

Referenced by pm_dump_json().

## ◆ value

struct pm_node* pm_assoc_node::value

AssocNode#value.

The value of the association, if present. This can be any non-void expression.

    { foo => bar }
             ^^^

    { x: 1 }
         ^

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