# 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