class Opal::Nodes::SuperNode

def compile

def compile
  if arglist or iter
    splat = has_splat?
    args = expr(self.args)
    unless splat
      args = [fragment('['), args, fragment(']')]
    end
  else
    if scope.def?
      scope.uses_zuper = true
      args = fragment('$zuper')
    else
      args = fragment('$slice.call(arguments)')
    end
  end
  # compile our call to runtime to get super method
  self.compile_dispatcher
  push ".apply(self, "
  push(*args)
  push ")"
end

def has_splat?

def has_splat?
  args.children.any? { |child| child.type == :splat }
end