# File lib/ruby_parser_extras.rb, line 518 def new_call recv, meth, args = nil result = s(:call, recv, meth) result.line = recv.line if recv # TODO: need a test with f(&b) to produce block_pass # TODO: need a test with f(&b) { } to produce warning args ||= s(:arglist) args[0] = :arglist if args.first == :array args = s(:arglist, args) unless args.first == :arglist # HACK quick hack to make this work quickly... easy to clean up above result.concat args[1..-1] result end