public class INVOKESTATIC extends InvokeInstruction
argSize, arguments, cname, invokedMethod, lastObj, mname, signatureattr, insnIndex, mi, position| Modifier | Constructor and Description |
|---|---|
protected |
INVOKESTATIC(String clsDescriptor,
String methodName,
String signature) |
| Modifier and Type | Method and Description |
|---|---|
void |
accept(InstructionVisitor insVisitor) |
Instruction |
execute(ThreadInfo ti)
this is the real workhorse
returns next instruction to enter in this thread
<2do> it's unfortunate we roll every side effect into this method, because
it diminishes the value of the 'executeInstruction' notification: all
insns that require some sort of late binding (InvokeVirtual, GetField, ..)
are not yet fully analyzable (e.g.
|
int |
getArgSize() |
int |
getByteCode() |
protected ClassInfo |
getClassInfo() |
int |
getClassObjectRef() |
Object |
getFieldValue(String id,
ThreadInfo ti) |
ClassInfo |
getInvokedClassInfo() |
String |
getInvokedClassName() |
MethodInfo |
getInvokedMethod() |
MethodInfo |
getInvokedMethod(ThreadInfo ti) |
StaticElementInfo |
getStaticElementInfo() |
String |
toString() |
Instruction |
typeSafeClone(MethodInfo mi)
this is overridden by any Instruction that use a cache for class or
method to provide a type safe cloning
|
checkSyncCG, getArgumentAttrs, getArgumentValue, getArgumentValues, getFieldOrArgumentValue, getInvokedMethodClassName, getInvokedMethodName, getInvokedMethodSignature, getLastObjRef, getLength, getReturnType, getReturnTypeName, hasArgumentAttr, hasAttrRefArgument, isCompleted, isReferenceReturnType, setInvokedMethod, setupCalleeaddAttr, attrIterator, attrIterator, cleanupTransients, getAttr, getAttr, getFileLocation, getFilePos, getInstructionIndex, getLineNumber, getMethodInfo, getMnemonic, getNext, getNext, getNextAttr, getPosition, getPrev, getSourceLine, getSourceLocation, getSourceOrLocation, hasAttr, hasAttr, init, isBackJump, isExtendedInstruction, isFirstInstruction, isSchedulingRelevant, removeAttr, replaceAttr, requiresClinitExecution, setAttr, setContext, setLocation, setMethodInfoprotected ClassInfo getClassInfo()
public int getByteCode()
getByteCode in class Instructionpublic StaticElementInfo getStaticElementInfo()
public int getClassObjectRef()
public Instruction execute(ThreadInfo ti)
Instructionexecute in class Instructionpublic MethodInfo getInvokedMethod(ThreadInfo ti)
getInvokedMethod in class InvokeInstructionpublic MethodInfo getInvokedMethod()
getInvokedMethod in class InvokeInstructionpublic ClassInfo getInvokedClassInfo()
public String getInvokedClassName()
public int getArgSize()
getArgSize in class InvokeInstructionpublic String toString()
toString in class Instructionpublic Object getFieldValue(String id, ThreadInfo ti)
getFieldValue in class InvokeInstructionpublic void accept(InstructionVisitor insVisitor)
accept in interface InstructionVisitorAcceptoraccept in class InvokeInstructionpublic Instruction typeSafeClone(MethodInfo mi)
InstructiontypeSafeClone in class InvokeInstruction