def process_if(exp)
expand = Ruby2Ruby::ASSIGN_NODES.include? exp.first.first
c = process exp.shift
t = process exp.shift
f = process exp.shift
c = "(#{c.chomp})" if c =~ /\n/
if t then
unless expand then
if f then
r = "#{c} ? (#{t}) : (#{f})"
r = nil if r =~ /return/
else
r = "#{t} if #{c}"
end
return r if r and (@indent+r).size < LINE_LENGTH and r !~ /\n/
end
r = "if #{c} then\n#{indent(t)}\n"
r << "else\n#{indent(f)}\n" if f
r << "end"
r
else
unless expand then
r = "#{f} unless #{c}"
return r if (@indent+r).size < LINE_LENGTH and r !~ /\n/
end
"unless #{c} then\n#{indent(f)}\nend"
end
end