rewrite_masgn (UnifiedRuby)

    # File lib/unified_ruby.rb, line 221
      def rewrite_masgn(exp)
        raise "wtf: #{exp}" unless exp.size == 4 # TODO: remove 2009-01-29
        t, lhs, lhs_splat, rhs = exp

        lhs ||= s(:array)

        if lhs_splat then
          case lhs_splat.first
          when :array then
            lhs_splat = lhs_splat.last if lhs_splat.last.first == :splat
          when :splat then
            # do nothing
          else
            lhs_splat = s(:splat, lhs_splat)
          end
          lhs << lhs_splat
        end

        # unwrap RHS from array IF it is only a splat node
        rhs = rhs.last if rhs && # TODO: rhs.structure =~ s(:array, s(:splat))
          rhs.size == 2 && rhs.structure.flatten.first(2) == [:array, :splat]

        s(t, lhs, rhs).compact
      end