Class StringRefForm
- 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.SingleByteReferenceForm
-
- org.apache.commons.compress.harmony.unpack200.bytecode.forms.StringRefForm
-
public class StringRefForm extends SingleByteReferenceForm
This class implements the byte code form for those bytecodes which have string references (and only string references).
-
-
Field Summary
-
Fields inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.forms.SingleByteReferenceForm
widened
-
Fields inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.forms.ByteCodeForm
byteCodeArray, byteCodesByName, WIDENED
-
-
Constructor Summary
Constructors Constructor Description StringRefForm(int opcode, java.lang.String name, int[] rewrite)Constructs a new instance with the specified opcode, name, operandType and rewrite.StringRefForm(int opcode, java.lang.String name, int[] rewrite, boolean widened)Constructs a new instance with the specified opcode, name, operandType and rewrite.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected intgetOffset(OperandManager operandManager)protected intgetPoolID()protected voidsetNestedEntries(ByteCode byteCode, OperandManager operandManager, int offset)Sets the nested entries.-
Methods inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.forms.SingleByteReferenceForm
nestedMustStartClassPool
-
Methods inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.forms.ReferenceForm
setByteCodeOperands
-
Methods inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.forms.ByteCodeForm
calculateOperandPosition, firstOperandIndex, fixUpByteCodeTargets, get, getName, getOpcode, getRewrite, getRewriteCopy, hasMultipleByteCodes, hasNoOperand, operandLength, toString
-
-
-
-
Constructor Detail
-
StringRefForm
public StringRefForm(int opcode, java.lang.String name, int[] rewrite)
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.
-
StringRefForm
public StringRefForm(int opcode, java.lang.String name, int[] rewrite, boolean widened)
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 Detail
-
getOffset
protected int getOffset(OperandManager operandManager)
- Specified by:
getOffsetin classSingleByteReferenceForm
-
getPoolID
protected int getPoolID()
- Specified by:
getPoolIDin classSingleByteReferenceForm
-
setNestedEntries
protected void setNestedEntries(ByteCode byteCode, OperandManager operandManager, int offset) throws Pack200Exception
Description copied from class:ReferenceFormSets the nested entries.- Overrides:
setNestedEntriesin classSingleByteReferenceForm- 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].
-
-