public abstract static class OffsetStoreTypeFlow.AbstractUnsafeStoreTypeFlow extends OffsetStoreTypeFlow
OffsetStoreTypeFlow.AbstractUnsafeStoreTypeFlow, OffsetStoreTypeFlow.StoreIndexedTypeFlow, OffsetStoreTypeFlow.UnsafePartitionStoreTypeFlow, OffsetStoreTypeFlow.UnsafeStoreTypeFlowobjectFlow, objectType, valueFlow| Modifier and Type | Method and Description |
|---|---|
OffsetStoreTypeFlow.AbstractUnsafeStoreTypeFlow |
copy(PointsToAnalysis bb,
MethodFlowsGraph methodFlows)
By default a type flow is not cloneable.
|
void |
forceUpdate(PointsToAnalysis bb) |
void |
initFlow(PointsToAnalysis bb)
Initialization code for some type flow corner cases.
|
protected abstract OffsetStoreTypeFlow.AbstractUnsafeStoreTypeFlow |
makeCopy(PointsToAnalysis bb,
MethodFlowsGraph methodFlows) |
boolean |
needsInitialization()
Type flows that require initialization after the graph is created need to override this
method and return true.
|
isContextInsensitive, markAsContextInsensitive, onObservedSaturated, onObservedUpdate, receiver, setObservedaddInput, addObservee, addObserver, addObserver, addState, addState, addUse, addUse, canSaturate, clearInputs, clearObservees, clearObservers, clearUses, declaredTypeFilter, declaredTypeFilter, doAddUse, equals, filter, filterUncheckedInterface, format, formatSource, getDeclaredType, getInputs, getObservees, getObservers, getSlot, getSource, getState, getUses, graphRef, hashCode, id, invalidate, isAllInstantiated, isClone, isSaturated, isValid, method, notifyObserverOfSaturation, notifyUseOfSaturation, onInputSaturated, onSaturated, onSaturated, removeObserver, removeUse, replacedObservedWith, replaceObservedWith, setSaturated, setSlot, setState, swapAtObserver, swapAtUse, swapOut, toString, updatepublic final OffsetStoreTypeFlow.AbstractUnsafeStoreTypeFlow copy(PointsToAnalysis bb, MethodFlowsGraph methodFlows)
TypeFlowcopy in class OffsetStoreTypeFlowprotected abstract OffsetStoreTypeFlow.AbstractUnsafeStoreTypeFlow makeCopy(PointsToAnalysis bb, MethodFlowsGraph methodFlows)
public void initFlow(PointsToAnalysis bb)
TypeFlowTypeFlow.needsInitialization() also
needs to be overridden to enable type flow initialization.public boolean needsInitialization()
TypeFlowneedsInitialization in class TypeFlow<BytecodePosition>public void forceUpdate(PointsToAnalysis bb)