Class CPInstruction

java.lang.Object
org.apache.bcel.generic.Instruction
org.apache.bcel.generic.CPInstruction
All Implemented Interfaces:
Cloneable, IndexedInstruction, TypedInstruction
Direct Known Subclasses:
ANEWARRAY, CHECKCAST, FieldOrMethod, INSTANCEOF, LDC, LDC2_W, MULTIANEWARRAY, NameSignatureInstruction, NEW

public abstract class CPInstruction extends Instruction implements TypedInstruction, IndexedInstruction
Abstract super class for instructions that use an index into the constant pool such as LDC, INVOKEVIRTUAL, etc.
See Also:
  • Field Details

    • index

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

    • CPInstruction

      protected CPInstruction(short opcode, int index)
      Constructs a CPInstruction.
      Parameters:
      opcode - the opcode.
      index - to constant pool.
  • Method Details

    • dump

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

      public final int getIndex()
      Description copied from interface: IndexedInstruction
      Gets the index.
      Specified by:
      getIndex in interface IndexedInstruction
      Returns:
      index in constant pool referred by this instruction.
    • getType

      Description copied from interface: TypedInstruction
      Gets the type associated with this instruction.
      Specified by:
      getType in interface TypedInstruction
      Parameters:
      cpg - the constant pool generator.
      Returns:
      type related with this instruction.
    • initFromFile

      protected void initFromFile(ByteSequence bytes, boolean wide) throws IOException
      Reads needed data (that is, index) from file.
      Overrides:
      initFromFile in class Instruction
      Parameters:
      bytes - input stream.
      wide - wide prefix?.
      Throws:
      IOException - may be thrown if the implementation needs to read data from the file
    • setIndex

      public void setIndex(int index)
      Sets the index to constant pool.
      Specified by:
      setIndex in interface IndexedInstruction
      Parameters:
      index - in constant pool.
    • toString

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

      Description copied from class: Instruction
      Gets the mnemonic for instruction with symbolic references resolved.
      Overrides:
      toString in class Instruction
      Parameters:
      cp - the constant pool.
      Returns:
      mnemonic for instruction with symbolic references resolved.