# File lib/ruby_parser_extras.rb, line 183
  def args args
    result = s(:args)

    args.each do |arg|
      case arg
      when Sexp then
        case arg.sexp_type
        when :args, :block, :array then
          result.concat arg[1..-1]
        when :block_arg then
          result << "&#{arg.last}""&#{arg.last}"
        when :masgn then
          result << arg
        else
          raise "unhandled: #{arg.inspect}"
        end
      when Symbol then
        result << arg
      when ",", nil then
        # ignore
      else
        raise "unhandled: #{arg.inspect}"
      end
    end

    result
  end