begin; rescue; end ^^^^^^^
Returns the set of targets for a MultiTargetNode or a MultiWriteNode.
Wonky heredoc tab/spaces rules. github.com/ruby/prism/blob/v1.3.0/src/prism.c#L10548-L10558
Wonky heredoc tab/spaces rules. github.com/ruby/prism/blob/v1.3.0/src/prism.c#L16528-L16545
break ^^^^^ break foo ^^^^^^^^^
module Foo; end ^^^^^^^^^^^^^^^
begin; rescue; end ^^^^^^^
return ^^^^^^ return 1 ^^^^^^^^
foo => bar => baz ^^^^^^^^^^
“foo #@bar” ^^^^^
foo in bar ^^^^^^^^^^
-> { 1 + 2 } ^^^^^^^^^^^^^^
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.