Ruby  3.4.0dev (2024-11-05 revision e440268d51fe02b303e3817a7a733a0dac1c5091)
Data Fields
pm_range_node Struct Reference

RangeNode. More...

#include <ast.h>

Data Fields

pm_node_t base
 The embedded base node. More...
 
struct pm_nodeleft
 RangeNode::left. More...
 
struct pm_noderight
 RangeNode::right. More...
 
pm_location_t operator_loc
 RangeNode::operator_loc. More...
 
- Data Fields inherited from pm_node
pm_node_type_t type
 This represents the type of the node. More...
 
pm_node_flags_t flags
 This represents any flags on the node. More...
 
uint32_t node_id
 The unique identifier for this node, which is deterministic based on the source. More...
 
pm_location_t location
 This is the location of the node in the source. More...
 

Detailed Description

RangeNode.

Represents the use of the .. or ... operators.

1..2
^^^^

c if a =~ /left/ ... b =~ /right/
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Type: PM_RANGE_NODE

Flags (pm_range_flags):

Definition at line 6239 of file ast.h.

Field Documentation

◆ base

pm_node_t pm_range_node::base

The embedded base node.

Definition at line 6241 of file ast.h.

◆ left

struct pm_node* pm_range_node::left

RangeNode::left.

The left-hand side of the range, if present. It can be either nil or any non-void expression.

1...
^

hello...goodbye
^^^^^

Definition at line 6255 of file ast.h.

Referenced by pm_node_destroy(), and pm_visit_child_nodes().

◆ operator_loc

pm_location_t pm_range_node::operator_loc

RangeNode::operator_loc.

The location of the .. or ... operator.

Definition at line 6276 of file ast.h.

◆ right

struct pm_node* pm_range_node::right

RangeNode::right.

The right-hand side of the range, if present. It can be either nil or any non-void expression.

..5
  ^

1...foo
    ^^^

If neither right-hand or left-hand side was included, this will be a MissingNode.

Definition at line 6269 of file ast.h.

Referenced by pm_node_destroy(), and pm_visit_child_nodes().


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