/** * Translate the "test" expression and contents of this element. * The contents will be ignored if we know the test will always fail. */ public void translate(ClassGenerator classGen, MethodGenerator methodGen) { final InstructionList il = methodGen.getInstructionList(); _test.translateDesynthesized(classGen, methodGen); // remember end of condition final InstructionHandle truec = il.getEnd(); if (!_ignore) { translateContents(classGen, methodGen); } _test.backPatchFalseList(il.append(NOP)); _test.backPatchTrueList(truec.getNext()); } }
_left.backPatchTrueList(middle); _left.backPatchTrueList(middle); _right.backPatchTrueList(after); _right.backPatchTrueList(after);
test.backPatchTrueList(truec.getNext());
exp.backPatchTrueList(restore); BranchHandle skipFalse = il.append(new GOTO(null));
/** * Translate the "test" expression and contents of this element. * The contents will be ignored if we know the test will always fail. */ public void translate(ClassGenerator classGen, MethodGenerator methodGen) { final InstructionList il = methodGen.getInstructionList(); _test.translateDesynthesized(classGen, methodGen); // remember end of condition final InstructionHandle truec = il.getEnd(); if (!_ignore) { translateContents(classGen, methodGen); } _test.backPatchFalseList(il.append(NOP)); _test.backPatchTrueList(truec.getNext()); } }
/** * Translate the "test" expression and contents of this element. * The contents will be ignored if we know the test will always fail. */ public void translate(ClassGenerator classGen, MethodGenerator methodGen) { final InstructionList il = methodGen.getInstructionList(); _test.translateDesynthesized(classGen, methodGen); // remember end of condition final InstructionHandle truec = il.getEnd(); if (!_ignore) { translateContents(classGen, methodGen); } _test.backPatchFalseList(il.append(NOP)); _test.backPatchTrueList(truec.getNext()); } }
/** * Translate the "test" expression and contents of this element. * The contents will be ignored if we know the test will always fail. */ public void translate(ClassGenerator classGen, MethodGenerator methodGen) { final InstructionList il = methodGen.getInstructionList(); _test.translateDesynthesized(classGen, methodGen); // remember end of condition final InstructionHandle truec = il.getEnd(); if (!_ignore) { translateContents(classGen, methodGen); } _test.backPatchFalseList(il.append(NOP)); _test.backPatchTrueList(truec.getNext()); } }
_left.backPatchTrueList(middle); _left.backPatchTrueList(middle); _right.backPatchTrueList(after); _right.backPatchTrueList(after);
_left.backPatchTrueList(middle); _left.backPatchTrueList(middle); _right.backPatchTrueList(after); _right.backPatchTrueList(after);
_left.backPatchTrueList(middle); _left.backPatchTrueList(middle); _right.backPatchTrueList(after); _right.backPatchTrueList(after);
test.backPatchTrueList(truec.getNext());
backPatchTrueList(restore); BranchHandle skipFalse = il.append(new GOTO(null));
backPatchTrueList(restore); BranchHandle skipFalse = il.append(new GOTO(null));
backPatchTrueList(restore); BranchHandle skipFalse = il.append(new GOTO(null));
backPatchTrueList(restore); BranchHandle skipFalse = il.append(new GOTO(null));
_left.backPatchTrueList(begin);
exp.backPatchTrueList(restore); BranchHandle skipFalse = il.append(new GOTO(null));
exp.backPatchTrueList(restore); BranchHandle skipFalse = il.append(new GOTO(null));
exp.backPatchTrueList(restore); BranchHandle skipFalse = il.append(new GOTO(null));