# File lib/ruby2ruby.rb, line 583
  def process_masgn(exp)
    lhs = exp.shift
    rhs = exp.empty? ? nil : exp.shift

    case lhs.first
    when :array then
      lhs.shift
      lhs = lhs.map do |l|
        case l.first
        when :masgn then
          "(#{process(l)})"
        else
          process(l)
        end
      end
    when :lasgn then
      lhs = [ splat(lhs.last) ]
    when :splat then
      lhs = [ "*""*" ]
    else
      raise "no clue: #{lhs.inspect}"
    end

    if context[1] == :iter and rhs then
      lhs << splat(rhs[1])
      rhs = nil
    end

    unless rhs.nil? then
      t = rhs.first
      rhs = process rhs
      rhs = rhs[1..-2] if t == :array # FIX: bad? I dunno
      return "#{lhs.join(", ")} = #{rhs}"
    else
      return lhs.join(", ")
    end
  end