Package org.apache.commons.compress.harmony.unpack200.bytecode.forms

# Class ClassSpecificReferenceForm

java.lang.Object
org.apache.commons.compress.harmony.unpack200.bytecode.forms.ByteCodeForm
org.apache.commons.compress.harmony.unpack200.bytecode.forms.ReferenceForm
org.apache.commons.compress.harmony.unpack200.bytecode.forms.ClassSpecificReferenceForm

Direct Known Subclasses:
  `InitMethodReferenceForm`, `SuperFieldRefForm`, `SuperMethodRefForm`, `ThisFieldRefForm`, `ThisMethodRefForm`

public abstract class ClassSpecificReferenceForm extends ReferenceForm
Abstract superclass of all classes that have class-specific references to constant pool information. These classes have a context (a string representing a pack200 class) i.e., they send getClassSpecificPoolEntry instead of getConstantPoolEntry.

- ## Field Summary

  ### Fields inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.forms.ByteCodeForm

  `byteCodeArray, byteCodesByName, WIDENED`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ClassSpecificReferenceForm(int opcode, String name, int[] rewrite)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected abstract String`
  `context(OperandManager operandManager)`
  `protected abstract int`
  `getOffset(OperandManager operandManager)`
  `protected abstract int`
  `getPoolID()`
  `protected void`
  `setNestedEntries(ByteCode byteCode, OperandManager operandManager, int offset)`

  ### Methods inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.forms.ReferenceForm

  `setByteCodeOperands`

  ### Methods inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.forms.ByteCodeForm

  `calculateOperandPosition, firstOperandIndex, fixUpByteCodeTargets, get, getName, getOpcode, getRewrite, getRewriteCopy, hasMultipleByteCodes, hasNoOperand, nestedMustStartClassPool, operandLength, toString`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### ClassSpecificReferenceForm

    public ClassSpecificReferenceForm(int opcode, String name, int[] rewrite)

- ## Method Details

  - ### context

    protected abstract String context(OperandManager operandManager)

  - ### getOffset

    protected abstract int getOffset(OperandManager operandManager)
    Specified by:
      `getOffset` in class `ReferenceForm`

  - ### getPoolID

    protected abstract int getPoolID()
    Specified by:
      `getPoolID` in class `ReferenceForm`

  - ### setNestedEntries

    protected void setNestedEntries(ByteCode byteCode, OperandManager operandManager, int offset) throws Pack200Exception
    Overrides:
      `setNestedEntries` in class `ReferenceForm`
    Throws:
      `Pack200Exception`