org.apache.bcel.generic
Class InvokeInstruction
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:
- Serializable, Cloneable, ExceptionThrower, IndexedInstruction, LoadClass, 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 $
- See Also:
- Serialized Form
InvokeInstruction
protected InvokeInstruction(short opcode,
int index)
- Parameters:
index
- to constant pool
toString
public String toString(ConstantPool cp)
- Overrides:
toString
in class CPInstruction
- Returns:
- mnemonic for instruction with symbolic references resolved
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
- Returns:
- Number of words consumed from stack by this 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
- Returns:
- Number of words produced onto stack by this 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 LoadClass
- Specified by:
getType
in interface TypedInstruction
- Overrides:
getType
in class CPInstruction
- Returns:
- return type of referenced method.
- See Also:
LoadClass.getLoadClassType(ConstantPoolGen)
getMethodName
public String getMethodName(ConstantPoolGen cpg)
- Returns:
- name of referenced method.
getReturnType
public Type getReturnType(ConstantPoolGen cpg)
- Returns:
- return type of referenced method.
getArgumentTypes
public Type[] getArgumentTypes(ConstantPoolGen cpg)
- Returns:
- argument types of referenced method.
Copyright © 2002-2006 Apache Software Foundation. All Rights Reserved.