java.lang.Object
org.apache.bcel.generic.Instruction
org.apache.bcel.generic.CPInstruction
org.apache.bcel.generic.FieldOrMethod
org.apache.bcel.generic.InvokeInstruction
- All Implemented Interfaces:
- java.lang.Cloneable, ExceptionThrower, IndexedInstruction, LoadClass, java.io.Serializable, StackConsumer, StackProducer, TypedInstruction
- Direct Known Subclasses:
- INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL
- public abstract class InvokeInstruction
- extends FieldOrMethod
- implements ExceptionThrower, TypedInstruction, StackConsumer, StackProducer
Super class for the INVOKExxx family of instructions.
- Version:
- $Id: InvokeInstruction.java 386056 2006-03-15 11:31:56Z tcurdt $
|
Constructor Summary |
(package private) |
InvokeInstruction()
Empty constructor needed for the Class.newInstance() statement in
Instruction.readInstruction(). |
protected |
InvokeInstruction(short opcode,
int index)
|
| Methods inherited from class org.apache.bcel.generic.Instruction |
accept, copy, dispose, equals, getComparator, getLength, getName, getOpcode, readInstruction, setComparator, toString |
InvokeInstruction
InvokeInstruction()
- Empty constructor needed for the Class.newInstance() statement in
Instruction.readInstruction(). Not to be used otherwise.
InvokeInstruction
protected InvokeInstruction(short opcode,
int index)
toString
public java.lang.String toString(org.apache.bcel.classfile.ConstantPool cp)
- Overrides:
toString in class CPInstruction
consumeStack
public int consumeStack(ConstantPoolGen cpg)
- Also works for instructions whose stack effect depends on the
constant pool entry they reference.
- Specified by:
consumeStack in interface StackConsumer- Overrides:
consumeStack in class Instruction
produceStack
public int produceStack(ConstantPoolGen cpg)
- Also works for instructions whose stack effect depends on the
constant pool entry they reference.
- Specified by:
produceStack in interface StackProducer- Overrides:
produceStack in class Instruction
getType
public Type getType(ConstantPoolGen cpg)
- Description copied from interface:
LoadClass
- Returns the type associated with this instruction.
LoadClass instances are always typed, but this type
does not always refer to the type of the class or interface
that it possibly forces to load. For example, GETFIELD would
return the type of the field and not the type of the class
where the field is defined.
If no class is forced to be loaded, null is returned.
An example for this is an ANEWARRAY instruction that creates
an int[][].
- Specified by:
getType in interface TypedInstruction- Overrides:
getType in class CPInstruction
getMethodName
public java.lang.String getMethodName(ConstantPoolGen cpg)
getReturnType
public Type getReturnType(ConstantPoolGen cpg)
getArgumentTypes
public Type[] getArgumentTypes(ConstantPoolGen cpg)