List of usage examples for org.objectweb.asm Opcodes GOTO
int GOTO
To view the source code for org.objectweb.asm Opcodes GOTO.
Click Source Link
From source file:lucee.transformer.bytecode.visitor.DecisionDoubleVisitor.java
License:Open Source License
public void visitEnd(BytecodeContext bc) { GeneratorAdapter adapter = bc.getAdapter(); Label l1 = new Label(); Label l2 = new Label(); adapter.visitInsn(Opcodes.DCMPL);/* w ww . j av a 2 s.c om*/ adapter.visitJumpInsn(operation, l1); adapter.visitInsn(Opcodes.ICONST_1); adapter.visitJumpInsn(Opcodes.GOTO, l2); adapter.visitLabel(l1); adapter.visitInsn(Opcodes.ICONST_0); adapter.visitLabel(l2); }
From source file:lucee.transformer.bytecode.visitor.DecisionIntVisitor.java
License:Open Source License
public void visitEnd(BytecodeContext bc) { GeneratorAdapter adapter = bc.getAdapter(); Label l1 = new Label(); adapter.visitJumpInsn(operation, l1); //mv.visitJumpInsn(IF_ICMPGT, l1); adapter.visitInsn(Opcodes.ICONST_0); Label l2 = new Label(); adapter.visitJumpInsn(Opcodes.GOTO, l2); adapter.visitLabel(l1);// w w w. j a v a 2 s .c om adapter.visitInsn(Opcodes.ICONST_1); adapter.visitLabel(l2); }
From source file:lucee.transformer.bytecode.visitor.DoWhileVisitor.java
License:Open Source License
/** * * @see lucee.transformer.bytecode.visitor.LoopVisitor#visitContinue(org.objectweb.asm.commons.GeneratorAdapter) *///from w w w . j av a2 s. co m public void visitContinue(BytecodeContext bc) { bc.getAdapter().visitJumpInsn(Opcodes.GOTO, getContinueLabel()); }
From source file:lucee.transformer.bytecode.visitor.DoWhileVisitor.java
License:Open Source License
/** * * @see lucee.transformer.bytecode.visitor.LoopVisitor#visitBreak(org.objectweb.asm.commons.GeneratorAdapter) *//*from w w w . j a va 2 s .com*/ public void visitBreak(BytecodeContext bc) { bc.getAdapter().visitJumpInsn(Opcodes.GOTO, getBreakLabel()); }
From source file:lucee.transformer.bytecode.visitor.ForConditionIntVisitor.java
License:Open Source License
/** * * @see lucee.transformer.bytecode.visitor.LoopVisitor#visitContinue(org.objectweb.asm.commons.GeneratorAdapter) *///from ww w. j a v a 2 s. c om public void visitContinue(BytecodeContext bc) { bc.getAdapter().visitJumpInsn(Opcodes.GOTO, lbegin); }
From source file:lucee.transformer.bytecode.visitor.ForConditionIntVisitor.java
License:Open Source License
/** * * @see lucee.transformer.bytecode.visitor.LoopVisitor#visitBreak(org.objectweb.asm.commons.GeneratorAdapter) *///from w w w . j a v a2s . c o m public void visitBreak(BytecodeContext bc) { bc.getAdapter().visitJumpInsn(Opcodes.GOTO, lend); }
From source file:lucee.transformer.bytecode.visitor.ForDoubleVisitor.java
License:Open Source License
/** * * @see lucee.transformer.bytecode.visitor.LoopVisitor#visitContinue(org.objectweb.asm.commons.GeneratorAdapter) *//*ww w .j a v a2 s.c o m*/ public void visitContinue(BytecodeContext bc) { bc.getAdapter().visitJumpInsn(Opcodes.GOTO, beforeUpdate); }
From source file:lucee.transformer.bytecode.visitor.ForDoubleVisitor.java
License:Open Source License
/** * * @see lucee.transformer.bytecode.visitor.LoopVisitor#visitBreak(org.objectweb.asm.commons.GeneratorAdapter) *//* w ww . j a v a 2 s. c o m*/ public void visitBreak(BytecodeContext bc) { bc.getAdapter().visitJumpInsn(Opcodes.GOTO, afterBody); }
From source file:lucee.transformer.bytecode.visitor.NotVisitor.java
License:Open Source License
public static void visitNot(BytecodeContext bc) { GeneratorAdapter adapter = bc.getAdapter(); Label l1 = new Label(); adapter.visitJumpInsn(Opcodes.IFEQ, l1); adapter.visitInsn(Opcodes.ICONST_0); Label l2 = new Label(); adapter.visitJumpInsn(Opcodes.GOTO, l2); adapter.visitLabel(l1);//from w w w.j a v a2 s . c om adapter.visitInsn(Opcodes.ICONST_1); adapter.visitLabel(l2); }
From source file:lucee.transformer.bytecode.visitor.TryCatchFinallyVisitor.java
License:Open Source License
public void visitCatchEnd(BytecodeContext bc) throws BytecodeException { Label end = new Label(); GeneratorAdapter ga = bc.getAdapter(); bc.popOnFinally();//from w ww.j a v a2s . c o m ga.visitLabel(l3); ga.visitJumpInsn(GOTO, l5); ga.visitLabel(l4); int lThrow = ga.newLocal(Types.THROWABLE); ga.storeLocal(lThrow); //mv.visitVarInsn(ASTORE, 2); Label l8 = new Label(); ga.visitLabel(l8); onFinally.writeOut(bc); ga.loadLocal(lThrow); ga.visitInsn(ATHROW); ga.visitLabel(l5); onFinally.writeOut(bc); if (fcf != null && fcf.getAfterFinalGOTOLabel() != null) { Label _end = new Label(); ga.visitJumpInsn(Opcodes.GOTO, _end); // ignore when coming not from break/continue ASMUtil.visitLabel(ga, fcf.getFinalEntryLabel()); onFinally.writeOut(bc); ga.visitJumpInsn(Opcodes.GOTO, fcf.getAfterFinalGOTOLabel()); ga.visitLabel(_end); } ga.visitLabel(end); ga.visitTryCatchBlock(beginTry, l3, l4, null); }