# 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