Visit the arguments and block of a call node and return the arguments and block as they should be used.
case foo; in bar; end ^^^^^^^^^^^^^^^^^^^^^
“foo #{bar}” ^^^^^^^^^^^^
:“foo #{bar}” ^^^^^^^^^^^^^
‘foo #{bar}` ^^^^^^^^^^^^
foo => bar ^^^^^^^^^^
/(?<foo>foo)/ =~ 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.