a or b ^^^^^^
The top-level program node.
begin; rescue; end ^^^^^^^
retry ^^^^^
foo(*bar) ^^^^
def foo((bar, *baz)); end ^^^^
def foo(); bar(); end ^
A list of statements.
“foo” ^^^^^
Visit a string that is expressed using a <<~ heredoc.
super(foo) ^^^^^^^^^^
undef foo ^^^^^^^^^
unless foo; bar end ^^^^^^^^^^^^^^^^^^^
bar unless foo ^^^^^^^^^^^^^^
case foo; when bar; end ^^^^^^^^^^^^^
while foo; bar end ^^^^^^^^^^^^^^^^^^
bar while foo ^^^^^^^^^^^^^
Visit a node that represents a number. We need to explicitly handle the unary - operator.