|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--at.dms.classfile.AbstractInstructionAccessor | +--at.dms.classfile.Instruction | +--at.dms.classfile.MultiarrayInstruction
Some instructions are perniticky enough that its simpler to write them separately instead of smushing them with all the rest. the multiarray instruction is one of them.
Constructor Summary | |
MultiarrayInstruction(ClassConstant type,
int dims)
Constructs a new multiarray instruction from a class file. |
|
MultiarrayInstruction(java.lang.String name,
int dims)
Constructs a new multiarray instruction. |
Method Summary | |
boolean |
canComplete()
Returns true iff control flow can reach the next instruction in textual order. |
int |
getDimension()
Return the number of dimension of this array. |
int |
getPushedOnStack()
Returns the size of data pushed on the stack by this instruction. |
byte |
getReturnType()
Returns the type pushed on the stack. |
(package private) int |
getSize()
Returns the number of bytes used by the the instruction in the code array. |
int |
getStack()
Return the amount of stack (positive or negative) used by this instruction. |
java.lang.String |
getType()
Return the type of the array. |
(package private) void |
resolveConstants(ConstantPool cp)
Insert or check location of constant value on constant pool. |
(package private) void |
write(ConstantPool cp,
java.io.DataOutput out)
Write this instruction into a file. |
Methods inherited from class at.dms.classfile.Instruction |
check, computeEndAddress, dump, getAddress, getLocalVar, getOpcode, getPoppedFromStack, isLiteral, setAddress, setOpcode |
Methods inherited from class at.dms.classfile.AbstractInstructionAccessor |
transform |
Methods inherited from class java.lang.Object |
|
Constructor Detail |
public MultiarrayInstruction(java.lang.String name, int dims)
name
- The qualified name of the base class.dims
- Number of dimensions for the array.public MultiarrayInstruction(ClassConstant type, int dims)
type
- The base class as a pooled constant.dims
- Number of dimensions for the array.Method Detail |
public boolean canComplete()
canComplete
in class Instruction
void resolveConstants(ConstantPool cp)
resolveConstants
in class Instruction
cp
- the constant pool for this class.int getSize()
getSize
in class Instruction
public java.lang.String getType()
public int getDimension()
public int getPushedOnStack()
getPushedOnStack
in class Instruction
public int getStack()
getStack
in class Instruction
public byte getReturnType()
getReturnType
in class Instruction
void write(ConstantPool cp, java.io.DataOutput out) throws java.io.IOException
write
in class Instruction
cp
- The constant pool that contain all data.out
- The file where to write this object info.java.io.IOException
- An io problem has occured.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |