class Opal::Rewriters::MlhsArgs


end
body
(c, d) = $mlhs_tmp2
(a, b) = $mlhs_tmp1
def m($mlhs_tmp1, $mlhs_tmp2)
To
end
body
def m( (a, b), (c, d) )
Rewrites

def on_def(node)

def on_def(node)
  node = super(node)
  mid, args, body = *node
  arguments = Arguments.new(args)
  args = args.updated(nil, arguments.rewritten)
  if arguments.initialization
    body ||= s(:nil) # prevent returning mlhs assignment
    body = prepend_to_body(body, arguments.initialization)
  end
  node.updated(nil, [mid, args, body])
end

def on_defs(node)

def on_defs(node)
  node = super(node)
  recv, mid, args, body = *node
  arguments = Arguments.new(args)
  args = args.updated(nil, arguments.rewritten)
  if arguments.initialization
    body ||= s(:nil) # prevent returning mlhs assignment
    body = prepend_to_body(body, arguments.initialization)
  end
  node.updated(nil, [recv, mid, args, body])
end

def on_iter(node)

def on_iter(node)
  node = super(node)
  args, body = *node
  arguments = Arguments.new(args)
  args = args.updated(nil, arguments.rewritten)
  if arguments.initialization
    body ||= s(:nil) # prevent returning mlhs assignment
    body = prepend_to_body(body, arguments.initialization)
  end
  node.updated(nil, [args, body])
end