@Override public void visitJumpInsn(final int opcode, final Label label) { minSize += 3; if (opcode == GOTO || opcode == JSR) { maxSize += 5; } else { maxSize += 8; } if (mv != null) { mv.visitJumpInsn(opcode, label); } }
/** * Generates the instruction to jump to the given label if the top stack * value is null. * * @param label * where to jump if the condition is <tt>true</tt>. */ public void ifNull(final Label label) { mv.visitJumpInsn(Opcodes.IFNULL, label); }
/** * Generates the instruction to jump to the given label if the top stack * value is not null. * * @param label * where to jump if the condition is <tt>true</tt>. */ public void ifNonNull(final Label label) { mv.visitJumpInsn(Opcodes.IFNONNULL, label); }
/** * Generates the instruction to jump to the given label. * * @param label * where to jump if the condition is <tt>true</tt>. */ public void goTo(final Label label) { mv.visitJumpInsn(Opcodes.GOTO, label); }
/** * Generates the instructions to jump to a label based on the comparison of * the top integer stack value with zero. * * @param mode * how these values must be compared. One of EQ, NE, LT, GE, GT, * LE. * @param label * where to jump if the comparison result is <tt>true</tt>. */ public void ifZCmp(final int mode, final Label label) { mv.visitJumpInsn(mode, label); }
public void ifgt(final Label label) { mv.visitJumpInsn(Opcodes.IFGT, label); }
public void ificmpeq(final Label label) { mv.visitJumpInsn(Opcodes.IF_ICMPEQ, label); }
public void ificmpgt(final Label label) { mv.visitJumpInsn(Opcodes.IF_ICMPGT, label); }
public void ifacmpne(final Label label) { mv.visitJumpInsn(Opcodes.IF_ACMPNE, label); }
public void ifnull(final Label label) { mv.visitJumpInsn(Opcodes.IFNULL, label); }
public void ifnonnull(final Label label) { mv.visitJumpInsn(Opcodes.IFNONNULL, label); }
public void ifeq(final Label label) { mv.visitJumpInsn(Opcodes.IFEQ, label); }
public void ifge(final Label label) { mv.visitJumpInsn(Opcodes.IFGE, label); }
public void ificmple(final Label label) { mv.visitJumpInsn(Opcodes.IF_ICMPLE, label); }
public void goTo(final Label label) { mv.visitJumpInsn(Opcodes.GOTO, label); }
public void jsr(final Label label) { mv.visitJumpInsn(Opcodes.JSR, label); }
public void ificmpge(final Label label) { mv.visitJumpInsn(Opcodes.IF_ICMPGE, label); }
@Override public void visitJumpInsn(final int opcode, final Label label) { p.visitJumpInsn(opcode, label); super.visitJumpInsn(opcode, label); }
@Override public void visitJumpInsn(final int opcode, final Label label) { if (mv != null) { mv.visitJumpInsn(opcode, label); } execute(opcode, 0, null); if (opcode == Opcodes.GOTO) { this.locals = null; this.stack = null; } }
@Override public void accept(final MethodVisitor mv) { mv.visitJumpInsn(opcode, label.getLabel()); acceptAnnotations(mv); }