java.lang.Object
org.apache.commons.compress.harmony.unpack200.bytecode.forms.ByteCodeForm
org.apache.commons.compress.harmony.unpack200.bytecode.forms.ReferenceForm
Direct Known Subclasses:
ClassRefForm, ClassSpecificReferenceForm, DoubleForm, FieldRefForm, IMethodRefForm, LongForm, MethodRefForm, SingleByteReferenceForm

public abstract class ReferenceForm extends ByteCodeForm
Abstract class of all ByteCodeForms which add a nested entry from the globalConstantPool.
  • Constructor Details

  • Method Details

    • getOffset

      protected abstract int getOffset(OperandManager operandManager)
    • getPoolID

      protected abstract int getPoolID()
    • setByteCodeOperands

      public void setByteCodeOperands(ByteCode byteCode, OperandManager operandManager, int codeLength)
      Description copied from class: ByteCodeForm
      When passed a byteCode, an OperandTable and a SegmentConstantPool, this method will set the rewrite of the byteCode appropriately.
      Specified by:
      setByteCodeOperands in class ByteCodeForm
      Parameters:
      byteCode - ByteCode to be updated (!)
      operandManager - OperandTable from which to draw info
      codeLength - Length of bytes (excluding this bytecode) from the beginning of the method. Used in calculating padding for some variable-length bytecodes (such as lookupswitch, tableswitch).
    • setNestedEntries

      protected void setNestedEntries(ByteCode byteCode, OperandManager operandManager, int offset) throws Pack200Exception
      Throws:
      Pack200Exception