# File lib/ruby2ruby.rb, line 242
  def process_call(exp)
    receiver_node_type = exp.first.first
    receiver = process exp.shift

    receiver = "(#{receiver})" if
      RubyToRuby::ASSIGN_NODES.include? receiver_node_type

    name = exp.shift
    args_exp = exp.shift rescue nil
    if args_exp && args_exp.first == :array # FIX
      args = "#{process(args_exp)[1..-2]}"
    else
      args = process args_exp
      args = nil if args.empty?
    end

    case name
    when :<=>, :==, :<, :>, :<=, :>=, :-, :+, :*, :/, :%, :<<, :>> then #
      "(#{receiver} #{name} #{args})"
    when :[] then
      "#{receiver}[#{args}]"
    when "-@""-@" then
      "-#{receiver}"
    when "+@""+@" then
      "+#{receiver}"
    else
      unless receiver.nil? then
        "#{receiver}.#{name}#{args ? "(#{args})" : args}"
      else
        "#{name}#{args ? "(#{args})" : args}"
      end
    end
  end