src/share/classes/jdk/internal/org/objectweb/asm/tree/IincInsnNode.java

Print this page




  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 }