@Override public void generate(Method m) { super.generate(m); Method.Label trueLabel = Method.newLabel(); Method.Label contLabel = Method.newLabel(); leftOperand.type.generateBranchIfCmpLess(m, trueLabel); m.generateInstrLdc(0); m.generateInstrGoto(contLabel); m.setLabel(trueLabel); m.generateInstrLdc(1); m.setLabel(contLabel); }
@Override public void generateBranchOnTrue(Method m, Method.Label trueLabel) { super.generate(m); leftOperand.type.generateBranchIfCmpLess(m, trueLabel); }
@Override public void generateBranchOnFalse(Method m, Method.Label falseLabel) { super.generate(m); leftOperand.type.generateBranchIfCmpGreaterOrEqual(m, falseLabel); }