Prism Ruby parser
Data Fields
pm_range_node Struct Reference

RangeNode. More...

#include <ast.h>

Inheritance diagram for pm_range_node:
Inheritance graph
[legend]
Collaboration diagram for pm_range_node:
Collaboration graph
[legend]

Data Fields

pm_node_t base
 The embedded base node.
 
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):

Field Documentation

◆ 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
^^^^^

◆ 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.

◆ operator_loc

pm_location_t pm_range_node::operator_loc

RangeNode::operator_loc.

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


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