public abstract class SourceTypeFlowBase extends TypeFlow<jdk.vm.ci.code.BytecodePosition>
| Modifier and Type | Field and Description |
|---|---|
protected TypeState |
sourceState
The source state is a temporary buffer for this flow's type state.
|
context, declaredType, graphRef, id, inQueue, nextId, source, usedAsAParameter, usedAsAReceiver| Constructor and Description |
|---|
SourceTypeFlowBase(PointsToAnalysis bb,
SourceTypeFlowBase original,
MethodFlowsGraph methodFlows) |
SourceTypeFlowBase(PointsToAnalysis bb,
SourceTypeFlowBase original,
MethodFlowsGraph methodFlows,
TypeState state) |
SourceTypeFlowBase(org.graalvm.compiler.nodes.ValueNode node,
AnalysisType declaredType,
TypeState state) |
SourceTypeFlowBase(org.graalvm.compiler.nodes.ValueNode node,
TypeState state) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
addState(PointsToAnalysis bb,
TypeState add) |
boolean |
canSaturate()
Can this type flow saturate? By default all type flows can saturate, with the exception of a
few ones that need to track all their types, e.g., AllInstantiated, AllSynchronized, etc.
|
void |
initClone(PointsToAnalysis bb)
Initialization code for some clone corner case type flows.
|
protected void |
onInputSaturated(PointsToAnalysis bb,
TypeFlow<?> input)
Notified by an input that it is saturated and it will stop sending updates.
|
void |
onObservedSaturated(PointsToAnalysis bb,
TypeFlow<?> observed)
Notified by an observed flow that it is saturated.
|
void |
onObservedUpdate(PointsToAnalysis bb)
Notify the observer that the observed type flow state has changed.
|
protected void |
onSaturated(PointsToAnalysis bb)
Called when this type flow becomes saturated.
|
addInput, addObservee, addObserver, addOriginalObserver, addOriginalUse, addState, addUse, context, copy, declaredTypeFilter, doAddUse, equals, filter, format, formatSource, getDeclaredType, getInputs, getObservees, getObservers, getSlot, getSource, getState, getUses, graphRef, hashCode, id, isAllInstantiated, isClone, isSaturated, isUsedAsAParameter, isUsedAsAReceiver, method, notifyObserverOfSaturation, notifyObservers, notifyUseOfSaturation, receiver, removeInput, removeObservee, removeObserver, removeUse, replacedObservedWith, replaceObservedWith, setObserved, setSaturated, setSlot, setState, setUsedAsAParameter, setUsedAsAReceiver, swapAtObserver, swapAtUse, swapOut, toString, updateprotected final TypeState sourceState
public SourceTypeFlowBase(org.graalvm.compiler.nodes.ValueNode node,
TypeState state)
public SourceTypeFlowBase(org.graalvm.compiler.nodes.ValueNode node,
AnalysisType declaredType,
TypeState state)
public SourceTypeFlowBase(PointsToAnalysis bb, SourceTypeFlowBase original, MethodFlowsGraph methodFlows)
public SourceTypeFlowBase(PointsToAnalysis bb, SourceTypeFlowBase original, MethodFlowsGraph methodFlows, TypeState state)
public void initClone(PointsToAnalysis bb)
TypeFlowpublic void onObservedUpdate(PointsToAnalysis bb)
TypeFlowonObservedUpdate in class TypeFlow<jdk.vm.ci.code.BytecodePosition>public void onObservedSaturated(PointsToAnalysis bb, TypeFlow<?> observed)
TypeFlowonObservedSaturated in class TypeFlow<jdk.vm.ci.code.BytecodePosition>protected void onInputSaturated(PointsToAnalysis bb, TypeFlow<?> input)
TypeFlowonInputSaturated in class TypeFlow<jdk.vm.ci.code.BytecodePosition>protected void onSaturated(PointsToAnalysis bb)
TypeFlowonSaturated in class TypeFlow<jdk.vm.ci.code.BytecodePosition>public boolean canSaturate()
TypeFlowcanSaturate in class TypeFlow<jdk.vm.ci.code.BytecodePosition>public boolean addState(PointsToAnalysis bb, TypeState add)