public abstract class ReferenceForm extends ByteCodeForm
byteCodeArray, byteCodesByName, WIDENED
Constructor and Description |
---|
ReferenceForm(int opcode,
String name,
int[] rewrite) |
Modifier and Type | Method and Description |
---|---|
protected abstract int |
getOffset(OperandManager operandManager) |
protected abstract int |
getPoolID() |
void |
setByteCodeOperands(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 void |
setNestedEntries(ByteCode byteCode,
OperandManager operandManager,
int offset) |
calculateOperandPosition, firstOperandIndex, fixUpByteCodeTargets, get, getName, getOpcode, getRewrite, getRewriteCopy, hasMultipleByteCodes, hasNoOperand, nestedMustStartClassPool, operandLength, toString
public ReferenceForm(int opcode, String name, int[] rewrite)
protected abstract int getPoolID()
protected abstract int getOffset(OperandManager operandManager)
protected void setNestedEntries(ByteCode byteCode, OperandManager operandManager, int offset) throws Pack200Exception
Pack200Exception
public void setByteCodeOperands(ByteCode byteCode, OperandManager operandManager, int codeLength)
ByteCodeForm
setByteCodeOperands
in class ByteCodeForm
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).Copyright © 2002–2020 The Apache Software Foundation. All rights reserved.