v.stmt(iif)
var seq_old = v.seq
v.seq = iif.then_seq
- v.add_assignment(reg, v.generate_expr(n_expr))
+ v.add_assignment(reg, v.lit_true_reg)
# Process right operand (in the else)
v.seq = iif.else_seq
v.stmt(iif)
var seq_old = v.seq
v.seq = iif.else_seq
- v.add_assignment(reg, v.generate_expr(n_expr))
+ v.add_assignment(reg, v.lit_false_reg)
# Process right operand (in the then)
v.seq = iif.then_seq
redef class ATrueExpr
redef fun generate_icode(v)
do
- return v.expr(new INative("TAG_Bool(true)", null), stype)
+ return v.lit_true_reg
end
end
redef class AFalseExpr
redef fun generate_icode(v)
do
- return v.expr(new INative("TAG_Bool(false)", null), stype)
+ return v.lit_false_reg
end
end
redef class ANullExpr
redef fun generate_icode(v)
do
- return v.new_register(stype)
+ return v.lit_null_reg
end
end