Represents writing to a class variable in a context that doesn’t have an explicit value.
@@foo, @@bar = baz ^^^^^ ^^^^^
Represents accessing a constant through a path of ‘::` operators.
Foo::Bar ^^^^^^^^
Represents writing to a constant path in a context that doesn’t have an explicit value.
Foo::Foo, Bar::Bar = baz ^^^^^^^^ ^^^^^^^^
Represents writing to a constant in a context that doesn’t have an explicit value.
Foo, Bar = baz ^^^ ^^^
Represents the use of the ‘..` or `…` operators to create flip flops.
baz if foo .. bar ^^^^^^^^^^
Represents writing to a global variable in a context that doesn’t have an explicit value.
$foo, $bar = baz ^^^^ ^^^^
Represents the use of the ‘&&=` operator on a call to the `[]` method.
foo.bar[baz] &&= value ^^^^^^^^^^^^^^^^^^^^^^
Represents the use of an assignment operator on a call to ‘[]`.
foo.bar[baz] += value ^^^^^^^^^^^^^^^^^^^^^
Represents the use of the ‘||=` operator on a call to `[]`.
foo.bar[baz] ||= value ^^^^^^^^^^^^^^^^^^^^^^
Represents a regular expression literal that contains interpolation that is being used in the predicate of a conditional to implicitly match against the last line read by an IO
object.
if /foo #{bar} baz/ then end ^^^^^^^^^^^^^^^^
Represents a keyword rest parameter to a method, block, or lambda definition.
def a(**b) ^^^ end
Represents reading a local variable. Note that this requires that a local variable of the same name has already been written to in the same scope, otherwise it is parsed as a method call.
foo ^^^
Represents writing to a local variable in a context that doesn’t have an explicit value.
foo, bar = baz ^^^ ^^^
Represents a regular expression literal used in the predicate of a conditional to implicitly match against the last line read by an IO
object.
if /foo/i then end ^^^^^^
Represents writing local variables using a regular expression match with named capture groups.
/(?<foo>bar)/ =~ baz ^^^^^^^^^^^^^^^^^^^^
Represents a write to a multi-target expression.
a, b, c = 1, 2, 3 ^^^^^^^^^^^^^^^^^
Represents the use of the ‘^` operator for pinning a variable in a pattern matching expression.
foo in ^bar ^^^^
Represents a rest parameter to a method, block, or lambda definition.
def a(*b) ^^ end
This node wraps a constant write to indicate that when the value is written, it should have its shareability state modified.
# shareable_constant_value: literal C = { a: 1 } ^^^^^^^^^^^^