@@ -942,7 +942,7 @@ def visit_interpolated_regular_expression_node(node)
942
942
# "foo #{bar}"
943
943
# ^^^^^^^^^^^^
944
944
def visit_interpolated_string_node ( node )
945
- if node . opening &. start_with? ( "<<" )
945
+ if node . heredoc?
946
946
children , closing = visit_heredoc ( node )
947
947
builder . string_compose ( token ( node . opening_loc ) , children , closing )
948
948
else
@@ -967,7 +967,7 @@ def visit_interpolated_symbol_node(node)
967
967
# `foo #{bar}`
968
968
# ^^^^^^^^^^^^
969
969
def visit_interpolated_x_string_node ( node )
970
- if node . opening . start_with? ( "<<" )
970
+ if node . heredoc?
971
971
children , closing = visit_heredoc ( node )
972
972
builder . xstring_compose ( token ( node . opening_loc ) , children , closing )
973
973
else
@@ -1485,8 +1485,8 @@ def visit_statements_node(node)
1485
1485
# "foo"
1486
1486
# ^^^^^
1487
1487
def visit_string_node ( node )
1488
- if node . opening &. start_with? ( "<<" )
1489
- children , closing = visit_heredoc ( InterpolatedStringNode . new ( node . send ( :source ) , node . opening_loc , [ node . copy ( opening_loc : nil , closing_loc : nil , location : node . content_loc ) ] , node . closing_loc , node . location ) )
1488
+ if node . heredoc?
1489
+ children , closing = visit_heredoc ( node . to_interpolated )
1490
1490
builder . string_compose ( token ( node . opening_loc ) , children , closing )
1491
1491
elsif node . opening == "?"
1492
1492
builder . character ( [ node . unescaped , srange ( node . location ) ] )
@@ -1646,8 +1646,8 @@ def visit_while_node(node)
1646
1646
# `foo`
1647
1647
# ^^^^^
1648
1648
def visit_x_string_node ( node )
1649
- if node . opening &. start_with? ( "<<" )
1650
- children , closing = visit_heredoc ( InterpolatedXStringNode . new ( node . opening_loc , [ StringNode . new ( 0 , nil , node . content_loc , nil , node . unescaped , node . content_loc ) ] , node . closing_loc , node . location ) )
1649
+ if node . heredoc?
1650
+ children , closing = visit_heredoc ( node . to_interpolated )
1651
1651
builder . xstring_compose ( token ( node . opening_loc ) , children , closing )
1652
1652
else
1653
1653
builder . xstring_compose (
0 commit comments