Class ReferenceForm
- java.lang.Object
-
- kala.compress.harmony.unpack200.bytecode.forms.ByteCodeForm
-
- kala.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.
-
-
Field Summary
-
Fields inherited from class kala.compress.harmony.unpack200.bytecode.forms.ByteCodeForm
byteCodeArray, byteCodesByName, WIDENED
-
-
Constructor Summary
Constructors Constructor Description ReferenceForm(int opcode, java.lang.String name, int[] rewrite)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract intgetOffset(OperandManager operandManager)protected abstract intgetPoolID()voidsetByteCodeOperands(ByteCode byteCode, OperandManager operandManager, int codeLength)When passed a byteCode, an OperandTable and a SegmentConstantPool, this method will set the rewrite of the byteCode appropriately.protected voidsetNestedEntries(ByteCode byteCode, OperandManager operandManager, int offset)-
Methods inherited from class kala.compress.harmony.unpack200.bytecode.forms.ByteCodeForm
calculateOperandPosition, firstOperandIndex, fixUpByteCodeTargets, get, getName, getOpcode, getRewrite, getRewriteCopy, hasMultipleByteCodes, hasNoOperand, nestedMustStartClassPool, operandLength, toString
-
-
-
-
Method Detail
-
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:ByteCodeFormWhen passed a byteCode, an OperandTable and a SegmentConstantPool, this method will set the rewrite of the byteCode appropriately.- Specified by:
setByteCodeOperandsin classByteCodeForm- Parameters:
byteCode- ByteCode to be updated (!)operandManager- OperandTable from which to draw infocodeLength- 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
-
-