class Opal::Nodes::Args::ExtractRestarg
post_args = post_args[-3..-1]
a = post_args[0..-3]
becomes something like:
def m(*a, b, c, d); end
args_to_keep is the number of required post-arguments
This node is responsible for extracting a splat argument from post-arguments
def compile
def compile # def m(*) # arguments are assigned to `$rest_arg` for super call name = self.name || '$rest_arg' add_temp name if args_to_keep == 0 # no post-args, we are free to grab everything push "#{name} = $post_args" else push "#{name} = $post_args.splice(0, $post_args.length - #{args_to_keep})" end end