public class CloneTypeFlow extends TypeFlow<BytecodePosition>
| Modifier and Type | Field and Description |
|---|---|
protected AnalysisContext |
allocationContext
The allocation context for the generated clone object.
|
| Constructor and Description |
|---|
CloneTypeFlow(BytecodePosition cloneLocation,
AnalysisType inputType,
TypeFlow<?> input) |
CloneTypeFlow(PointsToAnalysis bb,
CloneTypeFlow original,
MethodFlowsGraph methodFlows,
AnalysisContext allocationContext) |
| Modifier and Type | Method and Description |
|---|---|
TypeFlow<BytecodePosition> |
copy(PointsToAnalysis bb,
MethodFlowsGraph methodFlows)
By default a type flow is not cloneable.
|
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() |
void |
setObserved(TypeFlow<?> newInputFlow)
Set the type flow that this flow is observing.
|
String |
toString() |
void |
update(PointsToAnalysis bb) |
addInput, 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, initFlow, invalidate, isAllInstantiated, isClone, isContextInsensitive, isSaturated, isValid, method, needsInitialization, notifyObserverOfSaturation, notifyUseOfSaturation, onInputSaturated, onSaturated, receiver, removeObserver, removeUse, replacedObservedWith, replaceObservedWith, setSaturated, setSlot, setState, swapAtObserver, swapAtUse, swapOutprotected final AnalysisContext allocationContext
public CloneTypeFlow(BytecodePosition cloneLocation,
AnalysisType inputType,
TypeFlow<?> input)
public CloneTypeFlow(PointsToAnalysis bb, CloneTypeFlow original, MethodFlowsGraph methodFlows, AnalysisContext allocationContext)
public TypeFlow<BytecodePosition> copy(PointsToAnalysis bb, MethodFlowsGraph methodFlows)
TypeFlowpublic void onObservedUpdate(PointsToAnalysis bb)
TypeFlowonObservedUpdate in class TypeFlow<BytecodePosition>public void update(PointsToAnalysis bb)
public void onObservedSaturated(PointsToAnalysis bb, TypeFlow<?> observed)
TypeFlowonObservedSaturated in class TypeFlow<BytecodePosition>protected void onSaturated()
onSaturated in class TypeFlow<BytecodePosition>public void setObserved(TypeFlow<?> newInputFlow)
TypeFlowsetObserved in class TypeFlow<BytecodePosition>