class Opal::Nodes::XStringNode

def extract_last_value(last_child)

Will drop the trailing semicolon if all conditions are met
def extract_last_value(last_child)
  last_value = last_child.loc.expression.source.rstrip
  scope.self if last_value.include? 'self'
  if (@returning || expr?) && last_value.end_with?(';')
    compiler.warning(
      'Removed semicolon ending x-string expression, interpreted as unintentional',
      last_child.line,
    )
    last_value = last_value[0..-2]
  end
  @should_add_semicolon = true if @returning
  last_value
end