public static class StoreFieldTypeFlow.StoreInstanceFieldTypeFlow extends StoreFieldTypeFlow
StoreFieldTypeFlow.StoreInstanceFieldTypeFlow, StoreFieldTypeFlow.StoreStaticFieldTypeFlowfield| Constructor and Description |
|---|
StoreInstanceFieldTypeFlow(BytecodePosition storeLocation,
AnalysisField field,
TypeFlow<?> objectFlow) |
StoreInstanceFieldTypeFlow(BytecodePosition storeLocation,
AnalysisField field,
TypeFlow<?> valueFlow,
TypeFlow<?> objectFlow) |
| Modifier and Type | Method and Description |
|---|---|
StoreFieldTypeFlow.StoreInstanceFieldTypeFlow |
copy(PointsToAnalysis bb,
MethodFlowsGraph methodFlows)
By default a type flow is not cloneable.
|
boolean |
isContextInsensitive() |
void |
markAsContextInsensitive() |
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.
|
TypeFlow<?> |
receiver()
Some flows have a receiver (e.g., loads, store and invokes).
|
void |
setObserved(TypeFlow<?> newObjectFlow)
Set the type flow that this flow is observing.
|
String |
toString() |
filterfield, filterObjectStateaddInput, addObservee, addObserver, addObserver, addState, addState, addUse, addUse, canSaturate, clearInputs, clearObservees, clearObservers, clearUses, declaredTypeFilter, declaredTypeFilter, doAddUse, equals, 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, onSaturated, onSaturated, removeObserver, removeUse, replacedObservedWith, replaceObservedWith, setSaturated, setSlot, setState, swapAtObserver, swapAtUse, swapOut, updatepublic StoreInstanceFieldTypeFlow(BytecodePosition storeLocation,
AnalysisField field,
TypeFlow<?> objectFlow)
public StoreInstanceFieldTypeFlow(BytecodePosition storeLocation,
AnalysisField field,
TypeFlow<?> valueFlow,
TypeFlow<?> objectFlow)
public void markAsContextInsensitive()
public boolean isContextInsensitive()
isContextInsensitive in class TypeFlow<BytecodePosition>public StoreFieldTypeFlow.StoreInstanceFieldTypeFlow copy(PointsToAnalysis bb, MethodFlowsGraph methodFlows)
TypeFlowpublic TypeFlow<?> receiver()
TypeFlowpublic void setObserved(TypeFlow<?> newObjectFlow)
TypeFlowsetObserved in class TypeFlow<BytecodePosition>public void onObservedUpdate(PointsToAnalysis bb)
TypeFlowonObservedUpdate in class TypeFlow<BytecodePosition>public void onObservedSaturated(PointsToAnalysis bb, TypeFlow<?> observed)
TypeFlowonObservedSaturated in class TypeFlow<BytecodePosition>