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

Quick Search    Search Deep

Compil3r.BytecodeAnalysis
Class Bytecodes.INVOKEINTERFACE  view Bytecodes.INVOKEINTERFACE download Bytecodes.INVOKEINTERFACE.java

java.lang.Object
  extended byCompil3r.BytecodeAnalysis.Bytecodes.Instruction
      extended byCompil3r.BytecodeAnalysis.Bytecodes.CPInstruction
          extended byCompil3r.BytecodeAnalysis.Bytecodes.FieldOrMethod
              extended byCompil3r.BytecodeAnalysis.Bytecodes.InvokeInstruction
                  extended byCompil3r.BytecodeAnalysis.Bytecodes.INVOKEINTERFACE
All Implemented Interfaces:
Bytecodes.ExceptionThrower, Bytecodes.LoadClass, Bytecodes.StackConsumer, Bytecodes.StackProducer, Bytecodes.TypedInstruction, java.lang.Cloneable, java.io.Serializable
Enclosing class:
Bytecodes

public static final class Bytecodes.INVOKEINTERFACE
extends Bytecodes.InvokeInstruction
implements Bytecodes.ExceptionThrower, Bytecodes.TypedInstruction, Bytecodes.StackConsumer, Bytecodes.StackProducer, Bytecodes.LoadClass


Field Summary
private  int nargs
           
 
Fields inherited from class Compil3r.BytecodeAnalysis.Bytecodes.CPInstruction
index, o
 
Fields inherited from class Compil3r.BytecodeAnalysis.Bytecodes.Instruction
length, opcode
 
Constructor Summary
(package private) Bytecodes.INVOKEINTERFACE()
          Empty constructor needed for the Class.newInstance() statement in Instruction.readInstruction().
  Bytecodes.INVOKEINTERFACE(Clazz.jq_Method f, int nargs)
           
 
Method Summary
 void accept(Bytecodes.Visitor v)
          Call corresponding visitor method(s).
 int consumeStack()
          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.util.Set getExceptions()
           
 int getNoArguments()
          Deprecated. Use getCount().
protected  void initFromFile(Clazz.jq_ConstantPool cp, Util.IO.ByteSequence bytes, boolean wide)
          Read needed data (i.e., index) from file.
 java.lang.String toString()
          Convert this Object to a human-readable String.
 
Methods inherited from class Compil3r.BytecodeAnalysis.Bytecodes.InvokeInstruction
getArgumentTypes, getMethod, getMethodName, getReturnType, getType, produceStack
 
Methods inherited from class Compil3r.BytecodeAnalysis.Bytecodes.FieldOrMethod
getClassName, getClassType, getLoadClassType, getName, getSignature
 
Methods inherited from class Compil3r.BytecodeAnalysis.Bytecodes.CPInstruction
getIndex, getObject, setIndex, setObject, toString
 
Methods inherited from class Compil3r.BytecodeAnalysis.Bytecodes.Instruction
copy, dispose, getLength, getOpcode, readInstruction
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface Compil3r.BytecodeAnalysis.Bytecodes.TypedInstruction
getType
 
Methods inherited from interface Compil3r.BytecodeAnalysis.Bytecodes.StackProducer
produceStack
 
Methods inherited from interface Compil3r.BytecodeAnalysis.Bytecodes.LoadClass
getLoadClassType, getType
 

Field Detail

nargs

private int nargs
Constructor Detail

Bytecodes.INVOKEINTERFACE

Bytecodes.INVOKEINTERFACE()
Empty constructor needed for the Class.newInstance() statement in Instruction.readInstruction(). Not to be used otherwise.


Bytecodes.INVOKEINTERFACE

public Bytecodes.INVOKEINTERFACE(Clazz.jq_Method f,
                                 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 Bytecodes.CPInstruction

getNoArguments

public int getNoArguments()
Deprecated. Use getCount().

The Java Virtual Machine Specification, First Edition was a little bit unprecise about the naming. In the Java Virtual Machine Specification, Second Edition, the value returned here is called "count".


getCount

public int getCount()
The count argument according to the Java Language Specification, Second Edition.


initFromFile

protected void initFromFile(Clazz.jq_ConstantPool cp,
                            Util.IO.ByteSequence bytes,
                            boolean wide)
                     throws java.io.IOException
Read needed data (i.e., index) from file.

Specified by:
initFromFile in class Bytecodes.FieldOrMethod

toString

public java.lang.String toString()
Description copied from class: java.lang.Object
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it into System.out.println() 55 and such.

It is typical, but not required, to ensure that this method never completes abruptly with a java.lang.RuntimeException.

This method will be called when performing string concatenation with this object. If the result is null, string concatenation will instead use "null".

The default implementation returns getClass().getName() + "@" + Integer.toHexString(hashCode()).

Overrides:
toString in class Bytecodes.InvokeInstruction

consumeStack

public int consumeStack()
Description copied from class: Bytecodes.InvokeInstruction
Also works for instructions whose stack effect depends on the constant pool entry they reference.

Specified by:
consumeStack in interface Bytecodes.StackConsumer
Overrides:
consumeStack in class Bytecodes.InvokeInstruction

getExceptions

public java.util.Set getExceptions()
Specified by:
getExceptions in interface Bytecodes.ExceptionThrower

accept

public void accept(Bytecodes.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 Bytecodes.Instruction