public abstract class SSAAbstractInvokeInstruction extends SSAInstruction
SSAInstruction.IVisitor, SSAInstruction.Visitor
Modifier and Type | Field and Description |
---|---|
protected int |
exception
The value number which represents the exception object which the call may throw.
|
protected CallSiteReference |
site
The call site, containing the program counter location and the method being called.
|
iindex, NO_INDEX
Modifier | Constructor and Description |
---|---|
protected |
SSAAbstractInvokeInstruction(int iindex,
int exception,
CallSiteReference site) |
Modifier and Type | Method and Description |
---|---|
CallSiteReference |
getCallSite() |
TypeReference |
getDeclaredResultType()
What is the declared return type of the called method
|
MethodReference |
getDeclaredTarget()
What method is the declared callee?
|
int |
getDef() |
int |
getDef(int i)
Return the ith def
|
int |
getException()
Return the value number which is def'fed by this call instruction if the call returns exceptionally.
|
IInvokeInstruction.IDispatch |
getInvocationCode() |
int |
getNumberOfDefs() |
abstract int |
getNumberOfParameters()
How many parameters does this call specify?
|
abstract int |
getNumberOfReturnValues()
How many distinct values does this call return?
|
int |
getProgramCounter() |
int |
getReceiver() |
abstract int |
getReturnValue(int i)
What is the the value number of the ith value returned by this call
|
boolean |
hasDef()
Does this instruction define a normal value, as distinct from a set of exceptions possibly thrown by it (e.g.
|
boolean |
isDispatch()
Might this call dispatch to one of several possible methods? i.e., in Java, is it an invokeinterface or invokevirtual
|
boolean |
isFallThrough() |
boolean |
isPEI() |
boolean |
isSpecial()
Is this a 'special' call? (invokespecial in Java)
|
boolean |
isStatic()
Is this a 'static' call? (invokestatic in Java)
|
String |
toString(SymbolTable symbolTable) |
copyForSSA, equals, getExceptionTypes, getNumberOfUses, getUse, getValueString, hashCode, toString, visit
protected final int exception
protected final CallSiteReference site
protected SSAAbstractInvokeInstruction(int iindex, int exception, CallSiteReference site)
exception
- The value number which represents the exception object which the call may throw.site
- The call site, containing the program counter location and the method being called.public CallSiteReference getCallSite()
public boolean isStatic()
public boolean isDispatch()
public boolean isSpecial()
public int getReceiver()
public int getProgramCounter()
public int getNumberOfDefs()
getNumberOfDefs
in class SSAInstruction
public int getDef(int i)
SSAInstruction
getDef
in class SSAInstruction
i
- number of the def, starting at 0.public int getException()
public boolean hasDef()
SSAInstruction
hasDef
in class SSAInstruction
public int getDef()
getDef
in class SSAInstruction
public abstract int getNumberOfParameters()
public abstract int getNumberOfReturnValues()
public abstract int getReturnValue(int i)
public TypeReference getDeclaredResultType()
public MethodReference getDeclaredTarget()
public IInvokeInstruction.IDispatch getInvocationCode()
CallSiteReference.getInvocationCode()
public boolean isPEI()
isPEI
in class SSAInstruction
public boolean isFallThrough()
isFallThrough
in class SSAInstruction
public String toString(SymbolTable symbolTable)
toString
in class SSAInstruction