Class LDC

All Implemented Interfaces:
Cloneable, ExceptionThrower, IndexedInstruction, PushInstruction, StackProducer, TypedInstruction
Direct Known Subclasses:
LDC_W

public class LDC extends CPInstruction implements PushInstruction, ExceptionThrower
LDC - Push item from constant pool.
Stack: ... -> ..., item
  • Constructor Details

    • LDC

      public LDC(int index)
      Constructs an LDC instruction.
      Parameters:
      index - index into constant pool.
  • Method Details

    • accept

      public void accept(Visitor v)
      Call 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, that is, 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 CPInstruction
      Parameters:
      out - Output stream.
      Throws:
      IOException - Thrown when an I/O exception of some sort has occurred.
    • getExceptions

      public Class<?>[] getExceptions()
      Description copied from interface: ExceptionThrower
      Gets the exceptions that may be thrown by this instruction.
      Specified by:
      getExceptions in interface ExceptionThrower
      Returns:
      The exceptions that may be thrown by this instruction.
    • getType

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

      Gets the constant value from the constant pool.
      Parameters:
      cpg - constant pool generator.
      Returns:
      The constant value.
    • initFromFile

      protected void initFromFile(ByteSequence bytes, boolean wide) throws IOException
      Reads needed data (for example index) from file.
      Overrides:
      initFromFile in class CPInstruction
      Parameters:
      bytes - input stream.
      wide - wide prefix?.
      Throws:
      IOException - Thrown if the implementation needs to read data from the file
    • setIndex

      public final void setIndex(int index)
      Sets the index to constant pool and adjust size.
      Specified by:
      setIndex in interface IndexedInstruction
      Overrides:
      setIndex in class CPInstruction
      Parameters:
      index - in constant pool.
    • setSize

      protected final void setSize()
      Adjusts to proper size.