Variable eqqResult = m.getNewTemporaryVariable();
variables.add(eqqResult);
labels.add(bodyLabel);
m.addInstr(new EQQInstr(eqqResult, build(expression, m), value));
m.addInstr(new BEQInstr(eqqResult, BooleanLiteral.TRUE, bodyLabel));
}
} else {
Variable eqqResult = m.getNewTemporaryVariable();
variables.add(eqqResult);
labels.add(bodyLabel);
m.addInstr(new EQQInstr(eqqResult, build(whenNode.getExpressionNodes(), m), value));
m.addInstr(new BEQInstr(eqqResult, BooleanLiteral.TRUE, bodyLabel));
}
// SSS FIXME: This doesn't preserve original order of when clauses. We could consider
// preserving the order (or maybe not, since we would have to sort the constants first