public class FormalReceiverTypeFlow extends FormalParamTypeFlow
position| Constructor and Description |
|---|
FormalReceiverTypeFlow(BytecodePosition sourcePosition,
AnalysisType declaredType) |
FormalReceiverTypeFlow(FormalReceiverTypeFlow original,
MethodFlowsGraph methodFlows) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
addReceiverState(PointsToAnalysis bb,
TypeState add) |
boolean |
addState(PointsToAnalysis bb,
TypeState add)
The formal receiver type flow, i.e., the type flow of the 'this' parameter, is linked with
the actual receiver type flow through a non-state-transfer link, i.e., a link that exists
only for a proper iteration of type flow graphs.
|
FormalReceiverTypeFlow |
copy(PointsToAnalysis bb,
MethodFlowsGraph methodFlows)
By default a type flow is not cloneable.
|
TypeState |
filter(PointsToAnalysis bb,
TypeState newState) |
String |
format(boolean withState,
boolean withSource) |
protected void |
onInputSaturated(PointsToAnalysis bb,
TypeFlow<?> input)
Notified by an input that it is saturated and it will stop sending updates.
|
positionaddInput, addObservee, addObserver, addObserver, addState, addUse, addUse, canSaturate, clearInputs, clearObservees, clearObservers, clearUses, declaredTypeFilter, declaredTypeFilter, doAddUse, equals, filterUncheckedInterface, formatSource, getDeclaredType, getInputs, getObservees, getObservers, getSlot, getSource, getState, getUses, graphRef, hashCode, id, initFlow, invalidate, isAllInstantiated, isClone, isContextInsensitive, isSaturated, isValid, method, needsInitialization, notifyObserverOfSaturation, notifyUseOfSaturation, onObservedSaturated, onObservedUpdate, onSaturated, onSaturated, receiver, removeObserver, removeUse, replacedObservedWith, replaceObservedWith, setObserved, setSaturated, setSlot, setState, swapAtObserver, swapAtUse, swapOut, toString, updatepublic FormalReceiverTypeFlow(BytecodePosition sourcePosition,
AnalysisType declaredType)
public FormalReceiverTypeFlow(FormalReceiverTypeFlow original, MethodFlowsGraph methodFlows)
public FormalReceiverTypeFlow copy(PointsToAnalysis bb, MethodFlowsGraph methodFlows)
TypeFlowcopy in class FormalParamTypeFlowpublic TypeState filter(PointsToAnalysis bb, TypeState newState)
filter in class FormalParamTypeFlowpublic boolean addState(PointsToAnalysis bb, TypeState add)
protected void onInputSaturated(PointsToAnalysis bb, TypeFlow<?> input)
TypeFlowonInputSaturated in class TypeFlow<BytecodePosition>public boolean addReceiverState(PointsToAnalysis bb, TypeState add)
public String format(boolean withState, boolean withSource)
format in class FormalParamTypeFlow