foo.bar, = 1 ^^^^^^^
foo => bar => baz ^^^^^^^^^^
Foo, = bar ^^^
foo => [, bar, ] ^^^^^^^^^^^
if foo .. bar; end ^^^^^^^^^^
def foo(…); end ^^^
foo => {} ^^
foo, = 1 ^^^^^^^^
“foo #{bar}” ^^^^^^^^^^^^
:“foo #{bar}” ^^^^^^^^^^^^^
foo #{bar}
^^^^^^^^^^^^
-> { it } ^^^^^^^^^
(foo, bar), bar = qux ^^^^^^^^^^
def foo(bar = 1); end ^^^^^^^
Visit a destructured positional parameter node.
def foo(bar); end ^^^
foo rescue bar ^^^^^^^^^^^^^^
Ripper
gives back the escaped string content but strips out the common leading whitespace. Prism
gives back the unescaped string content and a location for the escaped string content. Unfortunately these don’t work well together, so here we need to re-derive the common leading whitespace.
Visit a heredoc node that is representing a string.
Visit a heredoc node that is representing an xstring.