Class MultiANewArrayForm
- 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.MultiANewArrayForm
-
public class MultiANewArrayForm extends ClassRefForm
This class implements the byte code form for the multianewarray instruction. It has a class reference and a byte operand. MultiANewArrayForms (like other anewarray forms) do not track the last new().
-
-
Field Summary
-
Fields inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.forms.ClassRefForm
widened
-
Fields inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.forms.ByteCodeForm
byteCodeArray, byteCodesByName, WIDENED
-
-
Constructor Summary
Constructors Constructor Description MultiANewArrayForm(int opcode, java.lang.String name, int[] rewrite)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
setByteCodeOperands(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, setNestedEntries
-
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
-
MultiANewArrayForm
public MultiANewArrayForm(int opcode, java.lang.String name, int[] rewrite)
-
-
Method Detail
-
setByteCodeOperands
public void setByteCodeOperands(ByteCode byteCode, OperandManager operandManager, int codeLength)
Description copied from class:ByteCodeForm
When passed a byteCode, an OperandTable and a SegmentConstantPool, this method will set the rewrite of the byteCode appropriately.- Overrides:
setByteCodeOperands
in 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).
-
-