class Opal::Nodes::DynamicXStringNode

def compile

def compile
  needs_semicolon = false
  children.each do |part|
    if String === part
      compile_split_lines(part.to_s, @sexp)
      needs_semicolon = true if requires_semicolon(part.to_s)
    elsif part.type == :evstr
      push expr(part[1])
    elsif part.type == :str
      compile_split_lines(part.last.to_s, part)
      needs_semicolon = true if requires_semicolon(part.last.to_s)
    else
      raise "Bad dxstr part"
    end
  end
  push ';' if needs_semicolon
  wrap '(', ')' if recv?
end

def requires_semicolon(code)

def requires_semicolon(code)
  stmt? and !code.include?(';')
end