Class LocalVariableInstruction

    • Field Detail

      • n

        @Deprecated
        protected int n
        Deprecated.
        (since 6.0) will be made private; do not access directly, use getter/setter
    • Constructor Detail

      • LocalVariableInstruction

        protected LocalVariableInstruction​(short opcode,
                                           short cTag,
                                           int n)
        Parameters:
        opcode - Instruction opcode
        cTag - Instruction number for compact version, ALOAD_0, e.g.
        n - local variable index (unsigned short)
    • Method Detail

      • toString

        public String toString​(boolean verbose)
        Long output format: <name of opcode> "["<opcode number>"]" "("<length of instruction>")" "<"< local variable index>">"
        Overrides:
        toString in class Instruction
        Parameters:
        verbose - long/short format switch
        Returns:
        mnemonic for instruction
      • initFromFile

        protected void initFromFile​(ByteSequence bytes,
                                    boolean wide)
                             throws IOException
        Read needed data (e.g. index) from file.
         (ILOAD <= tag <= ALOAD_3) || (ISTORE <= tag <= ASTORE_3)
         
        Overrides:
        initFromFile in class Instruction
        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
      • getIndex

        public final int getIndex()
        Specified by:
        getIndex in interface IndexedInstruction
        Returns:
        local variable index (n) referred by this instruction.
      • getCanonicalTag

        public short getCanonicalTag()
        Returns:
        canonical tag for instruction, e.g., ALOAD for ALOAD_0
      • getType

        public Type getType​(ConstantPoolGen cp)
        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
        Returns:
        type associated with the instruction