You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Represents the left side of the expression. It can be any kind of node
1177
-
* that represents a non-void expression.
1176
+
* Represents the left side of the expression. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression).
* Represents the right side of the expression. It can be any kind of
1191
-
* node that represents a non-void expression.
1189
+
* Represents the right side of the expression. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression).
* The key of the association. This can be any node that represents a
1317
-
* non-void expression.
1314
+
* The key of the association. This can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression).
* The value of the association, if present. This can be any node that
1334
-
* represents a non-void expression. It can be optionally omitted if this
1335
-
* node is an element in a `HashPatternNode`.
1330
+
* The value of the association, if present. This can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression).
* The object that the method is being called on. This can be either
1686
-
* `nil` or a node representing any kind of expression that returns a
1687
-
* non-void value.
1685
+
* The object that the method is being called on. This can be either `nil` or any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression).
* The name of the class variable, which is a `@@` followed by an [identifier](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#identifiers).
* The name of the global variable, which is a `$` followed by an [identifier](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#identifier). Alternatively, it can be one of the special global variables designated by a symbol.
* The name of the instance variable, which is a `@` followed by an [identifier](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#identifiers).
* The name of the local variable, which is an [identifier](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#identifiers).
4109
+
*
4110
+
* x # name `:x`
4111
+
*
4112
+
* _Test # name `:_Test`
4113
+
*
4114
+
* Note that this can also be an underscore followed by a number for the default block parameters.
4115
+
*
4116
+
* _1 # name `:_1`
4117
+
*
4118
+
* Finally, for the default `it` block parameter, the name is `0it`. This is to distinguish it from an `it` local variable that is explicitly declared.
4119
+
*
4120
+
* it # name `:0it`
4085
4121
*/
4086
4122
pm_constant_id_tname;
4087
4123
4088
4124
/**
4089
4125
* LocalVariableReadNode#depth
4126
+
*
4127
+
* The number of visible scopes that should be searched to find the origin of this local variable.
4128
+
*
4129
+
* foo = 1; foo # depth 0
4130
+
*
4131
+
* bar = 2; tap { bar } # depth 1
4132
+
*
4133
+
* The specific rules for calculating the depth may differ from individual Ruby implementations, as they are not specified by the language. For more information, see [the Prism documentation](https://github.com/ruby/prism/blob/main/docs/local_variable_depth.md).
* The (1-indexed, from the left) number of the capture group. Numbered references that would overflow a `uint32` result in a `number` of exactly `2**32 - 1`.
4543
+
*
4544
+
* $1 # number `1`
4545
+
*
4546
+
* $5432 # number `5432`
4547
+
*
4548
+
* $4294967296 # number `4294967295`
4497
4549
*/
4498
4550
uint32_tnumber;
4499
4551
} pm_numbered_reference_read_node_t;
@@ -4575,8 +4627,7 @@ typedef struct pm_or_node {
4575
4627
/**
4576
4628
* OrNode#left
4577
4629
*
4578
-
* Represents the left side of the expression. It can be any kind of node
4579
-
* that represents a non-void expression.
4630
+
* Represents the left side of the expression. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression).
4580
4631
*
4581
4632
* left or right
4582
4633
* ^^^^
@@ -4589,8 +4640,7 @@ typedef struct pm_or_node {
4589
4640
/**
4590
4641
* OrNode#right
4591
4642
*
4592
-
* Represents the right side of the expression. It can be any kind of
4593
-
* node that represents a non-void expression.
4643
+
* Represents the right side of the expression. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression).
* The left-hand side of the range, if present. Can be either `nil` or
4845
-
* a node representing any kind of expression that returns a non-void
4846
-
* value.
4894
+
* The left-hand side of the range, if present. It can be either `nil` or any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression).
* The right-hand side of the range, if present. Can be either `nil` or
4860
-
* a node representing any kind of expression that returns a non-void
4861
-
* value.
4907
+
* The right-hand side of the range, if present. It can be either `nil` or any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression).
4862
4908
*
4863
4909
* ..5
4864
4910
* ^
4865
4911
*
4866
4912
* 1...foo
4867
4913
* ^^^
4868
-
* If neither right-hand or left-hand side was included, this will be a
4869
-
* MissingNode.
4914
+
* If neither right-hand or left-hand side was included, this will be a MissingNode.
0 commit comments