Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.bcel.generic
Class InvokeInstruction  view InvokeInstruction download InvokeInstruction.java

java.lang.Object
  extended byorg.apache.bcel.generic.Instruction
      extended byorg.apache.bcel.generic.CPInstruction
          extended byorg.apache.bcel.generic.FieldOrMethod
              extended byorg.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 $

Field Summary
 
Fields inherited from class org.apache.bcel.generic.CPInstruction
index
 
Fields inherited from class org.apache.bcel.generic.Instruction
length, opcode
 
Constructor Summary
(package private) InvokeInstruction()
          Empty constructor needed for the Class.newInstance() statement in Instruction.readInstruction().
protected InvokeInstruction(short opcode, int index)
           
 
Method Summary
 int consumeStack(ConstantPoolGen cpg)
          Also works for instructions whose stack effect depends on the constant pool entry they reference.
 Type[] getArgumentTypes(ConstantPoolGen cpg)
           
 java.lang.String getMethodName(ConstantPoolGen cpg)
           
 Type getReturnType(ConstantPoolGen cpg)
           
 Type getType(ConstantPoolGen cpg)
          Returns the type associated with this instruction.
 int produceStack(ConstantPoolGen cpg)
          Also works for instructions whose stack effect depends on the constant pool entry they reference.
 java.lang.String toString(org.apache.bcel.classfile.ConstantPool cp)
           
 
Methods inherited from class org.apache.bcel.generic.FieldOrMethod
getClassName, getClassType, getLoadClassType, getName, getReferenceType, getSignature
 
Methods inherited from class org.apache.bcel.generic.CPInstruction
dump, getIndex, initFromFile, setIndex, toString
 
Methods inherited from class org.apache.bcel.generic.Instruction
accept, copy, dispose, equals, getComparator, getLength, getName, getOpcode, readInstruction, setComparator, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.bcel.generic.ExceptionThrower
getExceptions
 

Constructor Detail

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)
Method Detail

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)