Package org.apache.bcel.generic
Class INVOKEINTERFACE
- java.lang.Object
-
- org.apache.bcel.generic.Instruction
-
- org.apache.bcel.generic.CPInstruction
-
- org.apache.bcel.generic.FieldOrMethod
-
- org.apache.bcel.generic.InvokeInstruction
-
- org.apache.bcel.generic.INVOKEINTERFACE
-
- All Implemented Interfaces:
java.lang.Cloneable
,ExceptionThrower
,IndexedInstruction
,LoadClass
,StackConsumer
,StackProducer
,TypedInstruction
public final class INVOKEINTERFACE extends InvokeInstruction
INVOKEINTERFACE - Invoke interface methodStack: ..., objectref, [arg1, [arg2 ...]] -> ...
-
-
Field Summary
Fields Modifier and Type Field Description private int
nargs
-
Fields inherited from class org.apache.bcel.generic.CPInstruction
index
-
Fields inherited from class org.apache.bcel.generic.Instruction
EMPTY_ARRAY, length, opcode
-
-
Constructor Summary
Constructors Constructor Description INVOKEINTERFACE()
Empty constructor needed for Instruction.readInstruction.INVOKEINTERFACE(int index, int nargs)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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()
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 org.apache.bcel.generic.InvokeInstruction
getArgumentTypes, getClassName, getMethodName, getReturnType, getType, produceStack
-
Methods inherited from class org.apache.bcel.generic.FieldOrMethod
getClassType, getLoadClassType, getName, getReferenceType, getSignature
-
Methods inherited from class org.apache.bcel.generic.CPInstruction
getIndex, setIndex, toString
-
Methods inherited from class org.apache.bcel.generic.Instruction
copy, dispose, equals, getComparator, getLength, getName, getOpcode, hashCode, isValidByte, isValidShort, readInstruction, setComparator, setLength, setOpcode, toString
-
-
-
-
Method Detail
-
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.- Specified by:
accept
in classInstruction
- Parameters:
v
- Visitor object
-
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.- Specified by:
consumeStack
in interfaceStackConsumer
- Overrides:
consumeStack
in classInvokeInstruction
- Returns:
- Number of words consumed from stack by this instruction
-
dump
public void dump(java.io.DataOutputStream out) throws java.io.IOException
Dump instruction as byte code to stream out.- Overrides:
dump
in classCPInstruction
- Parameters:
out
- Output stream- Throws:
java.io.IOException
- Thrown when an I/O exception of some sort has occurred.
-
getCount
public int getCount()
The count argument according to the Java Language Specification, Second Edition.
-
getExceptions
public java.lang.Class<?>[] getExceptions()
-
initFromFile
protected void initFromFile(ByteSequence bytes, boolean wide) throws java.io.IOException
Read needed data (i.e., index) from file.- Overrides:
initFromFile
in classCPInstruction
- Parameters:
bytes
- input streamwide
- wide prefix?- Throws:
java.io.IOException
- may be thrown if the implementation needs to read data from the file
-
toString
public java.lang.String toString(ConstantPool cp)
- Overrides:
toString
in classInvokeInstruction
- Returns:
- mnemonic for instruction with symbolic references resolved
-
-