Class NarrowClassRefForm
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.ClassRefForm
org.apache.commons.compress.harmony.unpack200.bytecode.forms.NarrowClassRefForm
This class is used for representations of cldc and cldc_w. In these cases, a narrow class ref has one byte and a wide class ref has two bytes.
-
Field Summary
Fields inherited from class ClassRefForm
widenedFields inherited from class ByteCodeForm
byteCodeArray, byteCodesByName, WIDENED -
Constructor Summary
ConstructorsConstructorDescriptionNarrowClassRefForm(int opcode, String name, int[] rewrite) Constructs a new instance with the specified opcode, name, operandType and rewrite.NarrowClassRefForm(int opcode, String name, int[] rewrite, boolean widened) Constructs a new instance with the specified opcode, name, operandType and rewrite. -
Method Summary
Modifier and TypeMethodDescriptionbooleanprotected voidsetNestedEntries(ByteCode byteCode, OperandManager operandManager, int offset) Sets the nested entries.Methods inherited from class ClassRefForm
getOffset, getPoolIDMethods inherited from class ReferenceForm
setByteCodeOperandsMethods inherited from class ByteCodeForm
calculateOperandPosition, firstOperandIndex, fixUpByteCodeTargets, get, getName, getOpcode, getRewrite, getRewriteCopy, hasMultipleByteCodes, hasNoOperand, operandLength, toString
-
Constructor Details
-
NarrowClassRefForm
Constructs a new instance with the specified opcode, name, operandType and rewrite.- Parameters:
opcode- index corresponding to the opcode's value.name- String printable name of the opcode.rewrite- Operand positions (which will later be rewritten in ByteCodes) are indicated by -1.
-
NarrowClassRefForm
Constructs a new instance with the specified opcode, name, operandType and rewrite.- Parameters:
opcode- index corresponding to the opcode's value.name- String printable name of the opcode.rewrite- Operand positions (which will later be rewritten in ByteCodes) are indicated by -1.widened- TODO.
-
-
Method Details
-
nestedMustStartClassPool
- Overrides:
nestedMustStartClassPoolin classByteCodeForm
-
setNestedEntries
protected void setNestedEntries(ByteCode byteCode, OperandManager operandManager, int offset) throws Pack200Exception Description copied from class:ReferenceFormSets the nested entries.- Overrides:
setNestedEntriesin classClassRefForm- Parameters:
byteCode- byte codes.operandManager- Operand manager.offset- offset.- Throws:
Pack200Exception- if support for a type is not supported or the offset not in the range [0,Integer.MAX_VALUE].
-