# File lib/ruby2ruby.rb, line 402 def process_hash(exp) result = [] until exp.empty? lhs = process(exp.shift) rhs = exp.shift t = rhs.first rhs = process rhs rhs = "(#{rhs})" unless [:lit, :str].include? t # TODO: verify better! result << "#{lhs} => #{rhs}" end case self.context[1] when :arglist, :argscat then unless result.empty? then # HACK - this will break w/ 2 hashes as args if BINARY.include? @calls.last then return "{ #{result.join(', ')} }" else return "#{result.join(', ')}" end else return "{}" end else return "{ #{result.join(', ')} }" end end