class Opal::Nodes::ZsuperNode
def implicit_arglist
def implicit_arglist args = [] kwargs = [] def_scope.original_args.children.each do |sexp| lvar_name = sexp.children[0] case sexp.type when :arg, :optarg arg_node = s(:lvar, lvar_name) args << arg_node when :restarg arg_node = lvar_name ? s(:lvar, lvar_name) : s(:js_tmp, '$rest_arg') args << s(:splat, arg_node) when :kwarg, :kwoptarg key_name = sexp.meta[:arg_name] kwargs << s(:pair, s(:sym, key_name), s(:lvar, lvar_name)) when :kwrestarg arg_node = lvar_name ? s(:lvar, lvar_name) : s(:js_tmp, '$kw_rest_arg') kwargs << s(:kwsplat, arg_node) end end args << s(:hash, *kwargs) unless kwargs.empty? args end