|
mjc | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.multijava.util.classfile.AbstractInstructionAccessor
org.multijava.util.classfile.Instruction
org.multijava.util.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.
| Field Summary | |
private InterfaceConstant |
method
|
private int |
nargs
|
| Fields inherited from class org.multijava.util.classfile.Instruction |
|
| Constructor Summary | |
InvokeinterfaceInstruction(String name,
String type,
int nargs)
Constructs a new invokeinterface instruction |
|
InvokeinterfaceInstruction(String owner,
String name,
String type,
int nargs)
Constructs a new invokeinterface instruction |
|
InvokeinterfaceInstruction(InterfaceConstant method,
int nargs)
Constructs a new invokeinterface instruction from a class file |
|
| 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,
DataOutput out)
Write this instruction into a file |
| Methods inherited from class org.multijava.util.classfile.Instruction |
check, computeEndAddress, dump, getAddress, getLocalVar, getOpcode, getPoppedFromStack, isLiteral, setAddress, setOpcode |
| Methods inherited from class org.multijava.util.classfile.AbstractInstructionAccessor |
transform |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
private InterfaceConstant method
private int nargs
| Constructor Detail |
public InvokeinterfaceInstruction(String name,
String type,
int nargs)
name - the qualified name of the methodtype - the method signaturenargs - number of arguments
public InvokeinterfaceInstruction(String owner,
String name,
String type,
int nargs)
name - the qualified name of the methodtype - the method signaturenargs - number of arguments
public InvokeinterfaceInstruction(InterfaceConstant method,
int nargs)
method - the method reference (as pooled constant)nargs - number of arguments| Method Detail |
public boolean canComplete()
int getSize()
public InterfaceConstant getInterfaceConstant()
public int getNbArgs()
public byte getReturnType()
public int getPushedOnStack()
public int getStack()
void resolveConstants(ConstantPool cp)
cp - the constant pool for this class
void write(ConstantPool cp,
DataOutput out)
throws IOException
cp - the constant pool that contain all dataout - the file where to write this object info
IOException - an io problem has occured
|
mjc | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||