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