public class CallSiteSensitiveMethodTypeFlow extends MethodTypeFlow
methoddeclaredType, graphRef, id, inQueue, nextId, source, state, usedAsAParameter, usedAsAReceiver| Constructor and Description |
|---|
CallSiteSensitiveMethodTypeFlow(org.graalvm.compiler.options.OptionValues options,
PointsToAnalysisMethod method) |
| Modifier and Type | Method and Description |
|---|---|
MethodFlowsGraph |
addContext(PointsToAnalysis bb,
AnalysisContext calleeContext)
Add the context, if not already added, and return the method flows clone from that context.
|
MethodFlowsGraph |
addContext(PointsToAnalysis bb,
AnalysisContext calleeContext,
InvokeTypeFlow reason) |
TypeState |
foldTypeFlow(PointsToAnalysis bb,
TypeFlow<?> originalTypeFlow)
Get a type state containing the union of states over all the clones of the original flow.
|
Collection<MethodFlowsGraph> |
getFlows() |
MethodFlowsGraph |
getFlows(AnalysisContext calleeContext) |
int |
getLocalCallingContextDepth() |
protected void |
initFlowsGraph(PointsToAnalysis bb) |
boolean |
isSaturated(PointsToAnalysis bb,
TypeFlow<?> originalTypeFlow)
Check if the type flow is saturated, i.e., any of its clones is saturated.
|
String |
toString() |
ensureFlowsGraphCreated, flowsGraphCreated, getInvokes, getMethod, getMethodFlowsGraph, getOrCreateMethodFlowsGraph, getParameters, getParsingContext, getReturnedParameterIndex, updateaddInput, addObservee, addObserver, addObserver, addState, addState, addUse, addUse, canSaturate, copy, declaredTypeFilter, doAddUse, equals, filter, format, formatSource, getDeclaredType, getInputs, getObservees, getObservers, getSlot, getSource, getState, getUses, graphRef, hashCode, id, initFlow, isAllInstantiated, isClone, isContextInsensitive, isSaturated, isUsedAsAParameter, isUsedAsAReceiver, method, notifyObserverOfSaturation, notifyUseOfSaturation, onInputSaturated, onObservedSaturated, onObservedUpdate, onSaturated, onSaturated, receiver, removeInput, removeObservee, removeObserver, removeUse, replacedObservedWith, replaceObservedWith, setObserved, setSaturated, setSlot, setState, setUsedAsAParameter, setUsedAsAReceiver, swapAtObserver, swapAtUse, swapOutpublic CallSiteSensitiveMethodTypeFlow(org.graalvm.compiler.options.OptionValues options,
PointsToAnalysisMethod method)
public MethodFlowsGraph addContext(PointsToAnalysis bb, AnalysisContext calleeContext)
public MethodFlowsGraph addContext(PointsToAnalysis bb, AnalysisContext calleeContext, InvokeTypeFlow reason)
protected void initFlowsGraph(PointsToAnalysis bb)
initFlowsGraph in class MethodTypeFlowpublic int getLocalCallingContextDepth()
public Collection<MethodFlowsGraph> getFlows()
getFlows in class MethodTypeFlowpublic MethodFlowsGraph getFlows(AnalysisContext calleeContext)
public TypeState foldTypeFlow(PointsToAnalysis bb, TypeFlow<?> originalTypeFlow)
foldTypeFlow in class MethodTypeFloworiginalTypeFlow - the original type flowpublic boolean isSaturated(PointsToAnalysis bb, TypeFlow<?> originalTypeFlow)
isSaturated in class MethodTypeFlowpublic String toString()
toString in class MethodTypeFlow