# File lib/ruby_parser_extras.rb, line 520 def new_call recv, meth, args = nil result = s(:call, recv, meth) # 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] line = result.grep(Sexp).map(&:line).compact.min result.line = line if line result end