public class ProxyTypeFlow extends TypeFlow<BytecodePosition>
AllInstantiatedTypeFlows. The cloning mechanism needs a
mechanism to clone only those uses of these global flows that belong to the current cloned
method. Thus the proxy is just a level of indirection to the global flows where the local uses
can be attached.
A proxy type flow doesn't participate in any type flow updates. When a method is cloned it links
the clones of the uses/observers of the proxy flow directly to the input flow.| Constructor and Description |
|---|
ProxyTypeFlow(BytecodePosition source,
TypeFlow<?> input) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
addState(PointsToAnalysis bb,
TypeState add) |
TypeFlow<BytecodePosition> |
copy(PointsToAnalysis bb,
MethodFlowsGraph methodFlows)
By default a type flow is not cloneable.
|
TypeFlow<?> |
getInput() |
TypeState |
getState() |
String |
toString() |
void |
update(PointsToAnalysis bb) |
addInput, addObservee, addObserver, addObserver, addState, addUse, addUse, canSaturate, clearInputs, clearObservees, clearObservers, clearUses, declaredTypeFilter, declaredTypeFilter, doAddUse, equals, filter, filterUncheckedInterface, format, formatSource, getDeclaredType, getInputs, getObservees, getObservers, getSlot, getSource, getUses, graphRef, hashCode, id, initFlow, invalidate, isAllInstantiated, isClone, isContextInsensitive, isSaturated, isValid, method, needsInitialization, notifyObserverOfSaturation, notifyUseOfSaturation, onInputSaturated, onObservedSaturated, onObservedUpdate, onSaturated, onSaturated, receiver, removeObserver, removeUse, replacedObservedWith, replaceObservedWith, setObserved, setSaturated, setSlot, setState, swapAtObserver, swapAtUse, swapOutprotected TypeFlow<?> input
public ProxyTypeFlow(BytecodePosition source,
TypeFlow<?> input)
public TypeFlow<BytecodePosition> copy(PointsToAnalysis bb, MethodFlowsGraph methodFlows)
TypeFlowpublic TypeFlow<?> getInput()
public boolean addState(PointsToAnalysis bb, TypeState add)
public void update(PointsToAnalysis bb)