66 /** 67 * A node that represents an IINC instruction. 68 * 69 * @author Eric Bruneton 70 */ 71 public class IincInsnNode extends AbstractInsnNode { 72 73 /** 74 * Index of the local variable to be incremented. 75 */ 76 public int var; 77 78 /** 79 * Amount to increment the local variable by. 80 */ 81 public int incr; 82 83 /** 84 * Constructs a new {@link IincInsnNode}. 85 * 86 * @param var index of the local variable to be incremented. 87 * @param incr increment amount to increment the local variable by. 88 */ 89 public IincInsnNode(final int var, final int incr) { 90 super(Opcodes.IINC); 91 this.var = var; 92 this.incr = incr; 93 } 94 95 @Override 96 public int getType() { 97 return IINC_INSN; 98 } 99 100 @Override 101 public void accept(final MethodVisitor mv) { 102 mv.visitIincInsn(var, incr); 103 } 104 105 @Override 106 public AbstractInsnNode clone(final Map<LabelNode, LabelNode> labels) { 107 return new IincInsnNode(var, incr); 108 } 109 } | 66 /** 67 * A node that represents an IINC instruction. 68 * 69 * @author Eric Bruneton 70 */ 71 public class IincInsnNode extends AbstractInsnNode { 72 73 /** 74 * Index of the local variable to be incremented. 75 */ 76 public int var; 77 78 /** 79 * Amount to increment the local variable by. 80 */ 81 public int incr; 82 83 /** 84 * Constructs a new {@link IincInsnNode}. 85 * 86 * @param var 87 * index of the local variable to be incremented. 88 * @param incr 89 * increment amount to increment the local variable by. 90 */ 91 public IincInsnNode(final int var, final int incr) { 92 super(Opcodes.IINC); 93 this.var = var; 94 this.incr = incr; 95 } 96 97 @Override 98 public int getType() { 99 return IINC_INSN; 100 } 101 102 @Override 103 public void accept(final MethodVisitor mv) { 104 mv.visitIincInsn(var, incr); 105 acceptAnnotations(mv); 106 } 107 108 @Override 109 public AbstractInsnNode clone(final Map<LabelNode, LabelNode> labels) { 110 return new IincInsnNode(var, incr).cloneAnnotations(this); 111 } 112 } |