# File lib/ruby_parser_extras.rb, line 153 def args arg, optarg, rest_arg, block_arg arg ||= s(:args) result = arg if optarg then optarg[1..-1].each do |lasgn| # FIX clean sexp iter raise "wtf? #{lasgn.inspect}" unless lasgn[0] == :lasgn result << lasgn[1] end end result << rest_arg if rest_arg result << "&#{block_arg.last}""&#{block_arg.last}" if block_arg result << optarg if optarg # TODO? huh - processed above as well result end