Class IINC

All Implemented Interfaces:
Cloneable, IndexedInstruction, TypedInstruction

public class IINC extends LocalVariableInstruction
IINC - Increment local variable by constant
  • Field Details

    • wide

      private boolean wide
    • c

      private int c
  • Constructor Details

    • IINC

      IINC()
      Empty constructor needed for Instruction.readInstruction. Not to be used otherwise.
    • IINC

      public IINC(int n, int c)
      Parameters:
      n - index of local variable
      c - increment factor
  • Method Details

    • accept

      public void accept(Visitor v)
      Calls corresponding visitor method(s). The order is: Call visitor methods of implemented interfaces first, then call methods according to the class hierarchy in descending order, i.e., the most specific visitXXX() call comes last.
      Specified by:
      accept in class Instruction
      Parameters:
      v - Visitor object
    • dump

      public void dump(DataOutputStream out) throws IOException
      Dumps instruction as byte code to stream out.
      Overrides:
      dump in class LocalVariableInstruction
      Parameters:
      out - Output stream
      Throws:
      IOException - Thrown when an I/O exception of some sort has occurred.
    • getIncrement

      public final int getIncrement()
      Returns:
      increment factor
    • getType

      public Type getType(ConstantPoolGen cp)
      Description copied from class: LocalVariableInstruction
      Returns the type associated with the instruction - in case of ALOAD or ASTORE Type.OBJECT is returned. This is just a bit incorrect, because ALOAD and ASTORE may work on every ReferenceType (including Type.NULL) and ASTORE may even work on a ReturnaddressType .
      Specified by:
      getType in interface TypedInstruction
      Overrides:
      getType in class LocalVariableInstruction
      Returns:
      int type
    • initFromFile

      protected void initFromFile(ByteSequence bytes, boolean wide) throws IOException
      Reads needed data (e.g. index) from file.
      Overrides:
      initFromFile in class LocalVariableInstruction
      Parameters:
      bytes - byte sequence to read from
      wide - "wide" instruction flag
      Throws:
      IOException - may be thrown if the implementation needs to read data from the file
    • setIncrement

      public final void setIncrement(int c)
      Sets increment factor.
    • setIndex

      public final void setIndex(int n)
      Sets index of local variable.
      Specified by:
      setIndex in interface IndexedInstruction
      Overrides:
      setIndex in class LocalVariableInstruction
      See Also:
    • setWide

      private void setWide()
    • toString

      public String toString(boolean verbose)
      Returns mnemonic for instruction.
      Overrides:
      toString in class LocalVariableInstruction
      Parameters:
      verbose - long/short format switch
      Returns:
      mnemonic for instruction.