diff --git a/lib/unparser/emitter/xstr.rb b/lib/unparser/emitter/xstr.rb index 6eccfe1a..127d287c 100644 --- a/lib/unparser/emitter/xstr.rb +++ b/lib/unparser/emitter/xstr.rb @@ -41,6 +41,8 @@ def emit_xstr children.each do |child| if n_begin?(child) emit_begin(child) + elsif n_gvar?(child) + emit_gvar(child) else emit_string(child) end @@ -67,6 +69,11 @@ def emit_begin(component) visit(Util.one(component.children)) if component.children.any? write('}') end + + def emit_gvar(component) + write('#') + write(Util.one(component.children).to_s) + end end # XStr end # Emitter end # Unparser diff --git a/test/corpus/literal/literal.rb b/test/corpus/literal/literal.rb index 18fd386e..a063c5c4 100644 --- a/test/corpus/literal/literal.rb +++ b/test/corpus/literal/literal.rb @@ -74,3 +74,4 @@ #` `#{}` `#G` +`#$G`