Class InitMethodReferenceForm
- 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.ClassSpecificReferenceForm
-
- org.apache.commons.compress.harmony.unpack200.bytecode.forms.InitMethodReferenceForm
-
- Direct Known Subclasses:
NewInitMethodRefForm,SuperInitMethodRefForm,ThisInitMethodRefForm
public abstract class InitMethodReferenceForm extends ClassSpecificReferenceForm
Abstract superclass of those classes which look up init methods (these are class specific methods). They use getInitMethodPoolEntry to find the methods.
-
-
Field Summary
-
Fields inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.forms.ByteCodeForm
byteCodeArray, byteCodesByName, WIDENED
-
-
Constructor Summary
Constructors Constructor Description InitMethodReferenceForm(int opcode, java.lang.String name, int[] rewrite)Constructs a new instance with the specified opcode, name, operandType and rewrite.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract java.lang.Stringcontext(OperandManager operandManager)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.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, nestedMustStartClassPool, operandLength, toString
-
-
-
-
Constructor Detail
-
InitMethodReferenceForm
public InitMethodReferenceForm(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.
-
-
Method Detail
-
context
protected abstract java.lang.String context(OperandManager operandManager)
- Specified by:
contextin classClassSpecificReferenceForm
-
getOffset
protected int getOffset(OperandManager operandManager)
- Specified by:
getOffsetin classClassSpecificReferenceForm
-
getPoolID
protected int getPoolID()
- Specified by:
getPoolIDin classClassSpecificReferenceForm
-
setNestedEntries
protected void setNestedEntries(ByteCode byteCode, OperandManager operandManager, int offset) throws Pack200Exception
Description copied from class:ReferenceFormSets the nested entries.- Overrides:
setNestedEntriesin classClassSpecificReferenceForm- 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].
-
-