A block on a keyword or method call.
break ^^^^^ break foo ^^^^^^^^^
foo ^^^ foo.bar ^^^^^^^ foo.bar() {} ^^^^^^^^^^^^
case foo; when bar; end ^^^^^^^^^^^^^^^^^^^^^^^
class Foo; end ^^^^^^^^^^^^^^
def foo; end ^^^^^^^^^^^^ def self.foo; end ^^^^^^^^^^^^^^^^^
defined? a ^^^^^^^^^^ defined?(a) ^^^^^^^^^^^
if foo then bar else baz end ^^^^^^^^^^^^
begin; foo; ensure; bar; end ^^^^^^^^^^^^
for foo in bar do end ^^^^^^^^^^^^^^^^^^^^^
if foo then bar end ^^^^^^^^^^^^^^^^^^^ bar if foo ^^^^^^^^^^ foo ? bar : baz ^^^^^^^^^^^^^^^
case foo; in bar; end ^^^^^^^^^^^^^^^^^^^^^
A node that is missing from the syntax tree. This is only used in the case of a syntax error. The parser gem doesn’t have such a concept, so we invent our own here.
next ^^^^ next foo ^^^^^^^^
a or b ^^^^^^
def foo(bar, *baz); end ^^^^^^^^^