## 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, java.io.Serializable, StackConsumer, StackProducer, TypedInstruction

public final class INVOKEINTERFACE
extends InvokeInstruction

INVOKEINTERFACE - Invoke interface method

    Stack: ..., objectref, [arg1, [arg2 ...]] -> ...

Version:
  $Id: INVOKEINTERFACE.java,v 1.1.1.1 2001/10/29 20:00:16 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
`INVOKEINTERFACE(int index, int nargs)`

Method Summary
`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, getMethodName, getReturnType, getType, produceStack`

Methods inherited from class org.apache.bcel.generic.FieldOrMethod
`getClassName, getClassType, getLoadClassType, getName, getSignature`

Methods inherited from class org.apache.bcel.generic.CPInstruction
`getIndex, setIndex, toString`

Methods inherited from class org.apache.bcel.generic.Instruction
`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`

Constructor Detail

### INVOKEINTERFACE

    public INVOKEINTERFACE(int index,
                           int nargs)

Method Detail

### dump

    public void dump(java.io.DataOutputStream out)
              throws java.io.IOException

  Dump instruction as byte code to stream out.

  Overrides:
    `dump` in class `CPInstruction`
  Parameters:
    `out` - Output stream
    `java.io.IOException`

### getCount

    public int getCount()

  The count argument according to the Java Language Specification, Second Edition.

### initFromFile

    protected void initFromFile(ByteSequence bytes,
                                boolean wide)
                         throws java.io.IOException

  Read needed data (i.e., index) from file.

  Overrides:
    `initFromFile` in class `CPInstruction`
  Parameters:
    `bytes` - input stream
    `wide` - wide prefix?
    `java.io.IOException`

### toString

    public java.lang.String toString(ConstantPool cp)

  Overrides:
    `toString` in class `InvokeInstruction`
  Returns:
    mnemonic for instruction with symbolic references resolved

### 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 interface `StackConsumer`
  Overrides:
    `consumeStack` in class `InvokeInstruction`
  Returns:
    Number of words consumed from stack by this instruction

### getExceptions

    public java.lang.Class[] getExceptions()

### 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 class `Instruction`
  Parameters:
    `v` - Visitor object

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