public abstract class InvokeInstruction extends FieldOrMethod implements ExceptionThrower, StackConsumer, StackProducer
indexlength, opcode| Modifier | Constructor and Description |
|---|---|
(package private) |
InvokeInstruction()
Empty constructor needed for Instruction.readInstruction.
|
protected |
InvokeInstruction(short opcode,
int index) |
| Modifier and Type | Method and Description |
|---|---|
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 |
getClassName(ConstantPoolGen cpg)
This overrides the deprecated version as we know here that the referenced class
may legally be an array.
|
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) |
getClassType, getLoadClassType, getName, getReferenceType, getSignaturedump, getIndex, initFromFile, setIndex, toStringaccept, copy, dispose, equals, getComparator, getLength, getName, getOpcode, hashCode, isValidByte, isValidShort, readInstruction, setComparator, setLength, setOpcode, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetExceptionsInvokeInstruction()
protected InvokeInstruction(short opcode,
int index)
index - to constant poolpublic java.lang.String toString(ConstantPool cp)
toString in class CPInstructionpublic int consumeStack(ConstantPoolGen cpg)
consumeStack in interface StackConsumerconsumeStack in class Instructionpublic int produceStack(ConstantPoolGen cpg)
produceStack in interface StackProducerproduceStack in class Instructionpublic java.lang.String getClassName(ConstantPoolGen cpg)
getClassName in class FieldOrMethodjava.lang.IllegalArgumentException - if the referenced class is an array (this should not happen)public Type getType(ConstantPoolGen cpg)
LoadClassgetType in interface LoadClassgetType in interface TypedInstructiongetType in class CPInstructionLoadClass.getLoadClassType(ConstantPoolGen)public java.lang.String getMethodName(ConstantPoolGen cpg)
public Type getReturnType(ConstantPoolGen cpg)
public Type[] getArgumentTypes(ConstantPoolGen cpg)