joeq.Compiler.BytecodeAnalysis
Class Bytecodes.INVOKEINTERFACE

java.lang.Object
  extended by joeq.Compiler.BytecodeAnalysis.Bytecodes.Instruction
      extended by joeq.Compiler.BytecodeAnalysis.Bytecodes.CPInstruction
          extended by joeq.Compiler.BytecodeAnalysis.Bytecodes.FieldOrMethod
              extended by joeq.Compiler.BytecodeAnalysis.Bytecodes.InvokeInstruction
                  extended by joeq.Compiler.BytecodeAnalysis.Bytecodes.INVOKEINTERFACE
All Implemented Interfaces:
Serializable, Cloneable, Bytecodes.ExceptionThrower, Bytecodes.LoadClass, Bytecodes.StackConsumer, Bytecodes.StackProducer, Bytecodes.TypedInstruction
Enclosing interface:
Bytecodes

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

See Also:
Serialized Form

Field Summary
 
Fields inherited from class joeq.Compiler.BytecodeAnalysis.Bytecodes.CPInstruction
index, o
 
Fields inherited from class joeq.Compiler.BytecodeAnalysis.Bytecodes.Instruction
length, opcode
 
Constructor Summary
Bytecodes.INVOKEINTERFACE(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(DataOutputStream out)
          Dump instruction as byte code to stream out.
 int getCount()
          The count argument according to the Java Language Specification, Second Edition.
 Set getExceptions()
           
 int getNoArguments()
          Deprecated. Use getCount().
protected  void initFromFile(jq_ConstantPool cp, jwutil.io.ByteSequence bytes, boolean wide)
          Read needed data (i.e., index) from file.
 String toString()
           
 
Methods inherited from class joeq.Compiler.BytecodeAnalysis.Bytecodes.InvokeInstruction
getArgumentTypes, getMethod, getMethodName, getReturnType, getType, produceStack
 
Methods inherited from class joeq.Compiler.BytecodeAnalysis.Bytecodes.FieldOrMethod
getClassName, getClassType, getLoadClassType, getName, getSignature
 
Methods inherited from class joeq.Compiler.BytecodeAnalysis.Bytecodes.CPInstruction
getIndex, getObject, setIndex, setObject, toString
 
Methods inherited from class joeq.Compiler.BytecodeAnalysis.Bytecodes.Instruction
copy, getLength, getOpcode, readInstruction
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface joeq.Compiler.BytecodeAnalysis.Bytecodes.TypedInstruction
getType
 
Methods inherited from interface joeq.Compiler.BytecodeAnalysis.Bytecodes.StackProducer
produceStack
 
Methods inherited from interface joeq.Compiler.BytecodeAnalysis.Bytecodes.LoadClass
getLoadClassType, getType
 

Constructor Detail

Bytecodes.INVOKEINTERFACE

public Bytecodes.INVOKEINTERFACE(jq_Method f,
                                 int nargs)
Method Detail

dump

public void dump(DataOutputStream out)
          throws IOException
Dump instruction as byte code to stream out.

Overrides:
dump in class Bytecodes.CPInstruction
Parameters:
out - Output stream
Throws:
IOException

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(jq_ConstantPool cp,
                            jwutil.io.ByteSequence bytes,
                            boolean wide)
                     throws IOException
Read needed data (i.e., index) from file.

Specified by:
initFromFile in class Bytecodes.FieldOrMethod
Parameters:
bytes - input stream
wide - wide prefix?
cp - constant pool of class we are reading
Throws:
IOException

toString

public String toString()
Overrides:
toString in class Bytecodes.InvokeInstruction
Returns:
mnemonic for instruction with symbolic references resolved

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
Returns:
Number of words consumed from stack by this instruction

getExceptions

public 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
Parameters:
v - Visitor object


Copyright © 2001-2008 John Whaley. All Rights Reserved.