public abstract class DirectInvokeTypeFlow extends InvokeTypeFlow
| Modifier and Type | Field and Description |
|---|---|
protected static AtomicReferenceFieldUpdater<DirectInvokeTypeFlow,Object> |
CALLEES_ACCESSOR |
actualParameters, actualReturn, allOriginalCallees, callerMultiMethodKey, isContextInsensitive, originalInvoke, receiverType, targetMethod| Modifier | Constructor and Description |
|---|---|
protected |
DirectInvokeTypeFlow(BytecodePosition invokeLocation,
AnalysisType receiverType,
PointsToAnalysisMethod targetMethod,
TypeFlow<?>[] actualParameters,
ActualReturnTypeFlow actualReturn,
com.oracle.svm.common.meta.MultiMethod.MultiMethodKey callerMultiMethodKey) |
protected |
DirectInvokeTypeFlow(PointsToAnalysis bb,
MethodFlowsGraph methodFlows,
DirectInvokeTypeFlow original) |
| Modifier and Type | Method and Description |
|---|---|
Collection<AnalysisMethod> |
getAllCallees()
Retrieves list of all callees.
|
Collection<AnalysisMethod> |
getAllComputedCallees()
Returns all callees which have been computed for this method.
|
protected void |
initializeCallees(PointsToAnalysis bb) |
boolean |
isDirectInvoke() |
actualParametersCount, canBeStaticallyBound, filterReceiverState, getActualParameter, getActualParameters, getActualReturn, getAllCalleesFlows, getCallerMultiMethodKey, getOriginalCallees, getOriginalCalleesFlows, getOriginalInvoke, getPosition, getReceiver, getReceiverType, getResult, getTargetMethod, isContextInsensitive, isContextInsensitiveVirtualInvoke, linkCallee, linkReturn, markAsContextInsensitive, setActualReturn, setObserved, updateReceiver, updateReceiveraddInput, addObservee, addObserver, addObserver, addState, addState, addUse, addUse, canSaturate, clearInputs, clearObservees, clearObservers, clearUses, copy, declaredTypeFilter, declaredTypeFilter, doAddUse, equals, filter, filterUncheckedInterface, format, formatSource, getDeclaredType, getInputs, getObservees, getObservers, getSlot, getSource, getState, getUses, graphRef, hashCode, id, initFlow, invalidate, isAllInstantiated, isClone, isSaturated, isValid, method, needsInitialization, notifyObserverOfSaturation, notifyUseOfSaturation, onInputSaturated, onObservedSaturated, onObservedUpdate, onSaturated, onSaturated, receiver, removeObserver, removeUse, replacedObservedWith, replaceObservedWith, setSaturated, setSlot, setState, swapAtObserver, swapAtUse, swapOut, toString, updateisDeoptInvokeTypeFlowprotected static final AtomicReferenceFieldUpdater<DirectInvokeTypeFlow,Object> CALLEES_ACCESSOR
protected DirectInvokeTypeFlow(BytecodePosition invokeLocation,
AnalysisType receiverType,
PointsToAnalysisMethod targetMethod,
TypeFlow<?>[] actualParameters,
ActualReturnTypeFlow actualReturn,
com.oracle.svm.common.meta.MultiMethod.MultiMethodKey callerMultiMethodKey)
protected DirectInvokeTypeFlow(PointsToAnalysis bb, MethodFlowsGraph methodFlows, DirectInvokeTypeFlow original)
protected final void initializeCallees(PointsToAnalysis bb)
public final boolean isDirectInvoke()
public final Collection<AnalysisMethod> getAllCallees()
InvokeInfoAnalysisMethod.isImplementationInvoked().getAllCallees in interface InvokeInfogetAllCallees in class InvokeTypeFlowpublic final Collection<AnalysisMethod> getAllComputedCallees()
InvokeTypeFlowgetAllComputedCallees in class InvokeTypeFlow