Class NewClassRefForm
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.NewClassRefForm
This class is an extension of the ClassRefForm. It has two purposes: 1. To keep track of the last type used in a new() instruction in the current class. 2.
To allow the sender to create instances of either a specified class (which then becomes the new class) or the last used new class.
-
Field Summary
Fields inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.forms.ClassRefForm
widenedFields inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.forms.ByteCodeForm
byteCodeArray, byteCodesByName, WIDENED -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidsetByteCodeOperands(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 org.apache.commons.compress.harmony.unpack200.bytecode.forms.ClassRefForm
getOffset, getPoolID, setNestedEntriesMethods 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 Details
-
NewClassRefForm
-
-
Method Details
-
setByteCodeOperands
Description copied from class:ByteCodeFormWhen passed a byteCode, an OperandTable and a SegmentConstantPool, this method will set the rewrite of the byteCode appropriately.- Overrides:
setByteCodeOperandsin classReferenceForm- 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).
-