java.lang.Object
Compil3r.BytecodeAnalysis.Bytecodes.Instruction
Compil3r.BytecodeAnalysis.Bytecodes.CPInstruction
Compil3r.BytecodeAnalysis.Bytecodes.FieldOrMethod
Compil3r.BytecodeAnalysis.Bytecodes.InvokeInstruction
Compil3r.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
|
nargs
private int nargs
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)
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