Class LabelForm
- java.lang.Object
-
- kala.compress.harmony.unpack200.bytecode.forms.ByteCodeForm
-
- kala.compress.harmony.unpack200.bytecode.forms.LabelForm
-
public class LabelForm extends ByteCodeForm
This class implements the byte code form for those bytecodes which have label references (and only label references).
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanwidened-
Fields inherited from class kala.compress.harmony.unpack200.bytecode.forms.ByteCodeForm
byteCodeArray, byteCodesByName, WIDENED
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidfixUpByteCodeTargets(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.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.-
Methods inherited from class kala.compress.harmony.unpack200.bytecode.forms.ByteCodeForm
calculateOperandPosition, firstOperandIndex, get, getName, getOpcode, getRewrite, getRewriteCopy, hasMultipleByteCodes, hasNoOperand, nestedMustStartClassPool, operandLength, toString
-
-
-
-
Method Detail
-
fixUpByteCodeTargets
public void fixUpByteCodeTargets(ByteCode byteCode, CodeAttribute codeAttribute)
Description copied from class:ByteCodeFormThe ByteCodeForm knows how to fix up a bytecode if it needs to be fixed up because it holds a Label bytecode.- Overrides:
fixUpByteCodeTargetsin classByteCodeForm- Parameters:
byteCode- a ByteCode to be fixed upcodeAttribute- a CodeAttribute used to determine how the ByteCode should be fixed up.
-
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).
-
-