|
||||||||||
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.InvokeinterfaceInstruction
Some instructions are perniticky enough that its simpler to write them separately instead of smushing them with all the rest. the invokeinterface instruction is one of them.
Constructor Summary | |
InvokeinterfaceInstruction(InterfaceConstant method,
int nargs)
Constructs a new invokeinterface instruction from a class file |
|
InvokeinterfaceInstruction(java.lang.String name,
java.lang.String type,
int nargs)
Constructs a new invokeinterface instruction |
|
InvokeinterfaceInstruction(java.lang.String owner,
java.lang.String name,
java.lang.String type,
int nargs)
Constructs a new invokeinterface instruction |
Method Summary | |
boolean |
canComplete()
Returns true iff control flow can reach the next instruction in textual order. |
InterfaceConstant |
getInterfaceConstant()
Returns the interface constant value |
int |
getNbArgs()
Returns the number of arguments |
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 |
(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 InvokeinterfaceInstruction(java.lang.String name, java.lang.String type, int nargs)
name
- the qualified name of the methodtype
- the method signaturenargs
- number of argumentspublic InvokeinterfaceInstruction(java.lang.String owner, java.lang.String name, java.lang.String type, int nargs)
name
- the qualified name of the methodtype
- the method signaturenargs
- number of argumentspublic InvokeinterfaceInstruction(InterfaceConstant method, int nargs)
method
- the method reference (as pooled constant)nargs
- number of argumentsMethod Detail |
public boolean canComplete()
canComplete
in class Instruction
int getSize()
getSize
in class Instruction
public InterfaceConstant getInterfaceConstant()
public int getNbArgs()
public byte getReturnType()
getReturnType
in class Instruction
public int getPushedOnStack()
getPushedOnStack
in class Instruction
public int getStack()
getStack
in class Instruction
void resolveConstants(ConstantPool cp)
resolveConstants
in class Instruction
cp
- the constant pool for this classvoid write(ConstantPool cp, java.io.DataOutput out) throws java.io.IOException
write
in class Instruction
cp
- the constant pool that contain all dataout
- the file where to write this object infojava.io.IOException
- an io problem has occured
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |