de.fub.bytecode.generic
Class INVOKEINTERFACE
java.lang.Object
|
+--de.fub.bytecode.generic.Instruction
|
+--de.fub.bytecode.generic.CPInstruction
|
+--de.fub.bytecode.generic.FieldOrMethod
|
+--de.fub.bytecode.generic.InvokeInstruction
|
+--de.fub.bytecode.generic.INVOKEINTERFACE
- All Implemented Interfaces:
- java.lang.Cloneable, ExceptionThrower, IndexedInstruction, LoadClass, java.io.Serializable, StackConsumer, StackProducer, TypedInstruction
- public final class INVOKEINTERFACE
- extends InvokeInstruction
INVOKEINTERFACE - Invoke interface method
Stack: ..., objectref, [arg1, [arg2 ...]] -> ...
- Version:
- $Id: INVOKEINTERFACE.java,v 1.8 2001/08/16 19:52:45 ehaase Exp $
- Author:
- M. Dahm
- See Also:
- Serialized Form
Method Summary |
void |
accept(Visitor v)
Call corresponding visitor method(s). |
int |
consumeStack(ConstantPoolGen cpg)
Also works for instructions whose stack effect depends on the
constant pool entry they reference. |
void |
dump(java.io.DataOutputStream out)
Dump instruction as byte code to stream out. |
int |
getCount()
The count argument according to the Java Language Specification,
Second Edition. |
java.lang.Class[] |
getExceptions()
|
int |
getNoArguments()
Deprecated. Use getCount(). |
protected void |
initFromFile(ByteSequence bytes,
boolean wide)
Read needed data (i.e., index) from file. |
java.lang.String |
toString(ConstantPool cp)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
INVOKEINTERFACE
public INVOKEINTERFACE(int index,
int nargs)
dump
public void dump(java.io.DataOutputStream out)
throws java.io.IOException
- Dump instruction as byte code to stream out.
- Overrides:
dump
in class CPInstruction
- Parameters:
out
- Output stream
getNoArguments
public int getNoArguments()
- Deprecated. Use getCount().
- The Java Virtual Machine Specification, First Edition was a little
bit unprecise about the naming. In the Java Virtual Machine Specification,
Second Edition, the value returned here is called "count".
getCount
public int getCount()
- The count argument according to the Java Language Specification,
Second Edition.
initFromFile
protected void initFromFile(ByteSequence bytes,
boolean wide)
throws java.io.IOException
- Read needed data (i.e., index) from file.
- Overrides:
initFromFile
in class CPInstruction
- Following copied from class:
de.fub.bytecode.generic.CPInstruction
- Parameters:
bytes
- input streamwide
- wide prefix?
toString
public java.lang.String toString(ConstantPool cp)
- Overrides:
toString
in class InvokeInstruction
- Returns:
- mnemonic for instruction with symbolic references resolved
consumeStack
public int consumeStack(ConstantPoolGen cpg)
- Description copied from class:
InvokeInstruction
- Also works for instructions whose stack effect depends on the
constant pool entry they reference.
- Overrides:
consumeStack
in class InvokeInstruction
- Following copied from class:
de.fub.bytecode.generic.InvokeInstruction
- Returns:
- Number of words consumed from stack by this instruction
getExceptions
public java.lang.Class[] getExceptions()
accept
public void accept(Visitor v)
- Call corresponding visitor method(s). The order is:
Call visitor methods of implemented interfaces first, then
call methods according to the class hierarchy in descending order,
i.e., the most specific visitXXX() call comes last.
- Overrides:
accept
in class Instruction
- Parameters:
v
- Visitor object