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 and Description
    `ClassSpecificReferenceForm(int opcode, String name, int[] rewrite)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and 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 Detail

    - #### ClassSpecificReferenceForm

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

  - ### Method Detail

    - #### getOffset

          protected abstract int getOffset(OperandManager operandManager)

      Specified by:
        `getOffset` in class `ReferenceForm`

    - #### getPoolID

          protected abstract int getPoolID()

      Specified by:
        `getPoolID` in class `ReferenceForm`

    - #### context

          protected abstract String context(OperandManager operandManager)

    - #### setNestedEntries

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

      Overrides:
        `setNestedEntries` in class `ReferenceForm`
      Throws:
        `Pack200Exception`

Copyright © 2002–2020 The Apache Software Foundation. All rights reserved.