public class LabelForm extends ByteCodeForm
Modifier and Type | Field and Description |
---|---|
protected boolean |
widened |
byteCodeArray, byteCodesByName, WIDENED
Constructor and Description |
---|
LabelForm(int opcode,
String name,
int[] rewrite) |
LabelForm(int opcode,
String name,
int[] rewrite,
boolean widened) |
Modifier and Type | Method and Description |
---|---|
void |
fixUpByteCodeTargets(ByteCode byteCode,
CodeAttribute codeAttribute)
The ByteCodeForm knows how to fix up a bytecode if it needs to be fixed up because it holds a Label bytecode.
|
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.
|
calculateOperandPosition, firstOperandIndex, get, getName, getOpcode, getRewrite, getRewriteCopy, hasMultipleByteCodes, hasNoOperand, nestedMustStartClassPool, operandLength, toString
protected boolean widened
public void fixUpByteCodeTargets(ByteCode byteCode, CodeAttribute codeAttribute)
ByteCodeForm
fixUpByteCodeTargets
in class ByteCodeForm
byteCode
- a ByteCode to be fixed upcodeAttribute
- a CodeAttribute used to determine how the ByteCode should be fixed up.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–2022 The Apache Software Foundation. All rights reserved.