Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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:
  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,v 1.1.1.1 2001/10/29 20:00:20 jvanzyl Exp $
Author:
  M. Dahm
See Also:
  Serialized Form

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
`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(ConstantPool cp)`

Methods inherited from class org.apache.bcel.generic.FieldOrMethod
`getClassName, getClassType, getLoadClassType, getName, 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, 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

    protected InvokeInstruction(short opcode,
                                int index)

Parameters:
  `index` - to constant pool

Method Detail

### toString

    public java.lang.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 `TypedInstruction`
  Overrides:
    `getType` in class `CPInstruction`
  Returns:
    return type of referenced method.
  See Also:
    `LoadClass.getLoadClassType(ConstantPoolGen)`

### getMethodName

    public java.lang.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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2003 Apache Software Foundation. All Rights Reserved.