class Opal::Nodes::DynamicStringNode

def compile

def compile
  children.each_with_index do |part, idx|
    push " + " unless idx == 0
    if String === part
      push part.inspect
    elsif part.type == :evstr
      push "("
      push part[1] ? expr(part[1]) : '""'
      push ")"
    elsif part.type == :str
      push part[1].inspect
    elsif part.type == :dstr
      push "("
      push expr(part)
      push ")"
    else
      raise "Bad dstr part #{part.inspect}"
    end
    wrap '(', ')' if recv?
  end
end