public class NullCheckTypeFlow extends TypeFlow<BytecodePosition>
declaredType, graphRef, id, inQueue, nextId, source, state, usedAsAParameter, usedAsAReceiver| Constructor and Description |
|---|
NullCheckTypeFlow(BytecodePosition position,
AnalysisType inputType,
boolean blockNull) |
NullCheckTypeFlow(MethodFlowsGraph methodFlows,
NullCheckTypeFlow original) |
| Modifier and Type | Method and Description |
|---|---|
TypeFlow<BytecodePosition> |
copy(PointsToAnalysis bb,
MethodFlowsGraph methodFlows)
By default a type flow is not cloneable.
|
TypeState |
filter(PointsToAnalysis bb,
TypeState newState) |
boolean |
isBlockingNull()
If true, lets anything but null pass through.
|
String |
toString() |
addInput, addObservee, addObserver, addObserver, addState, addState, addUse, addUse, canSaturate, declaredTypeFilter, doAddUse, equals, format, formatSource, getDeclaredType, getInputs, getObservees, getObservers, getSlot, getSource, getState, getUses, graphRef, hashCode, id, initFlow, isAllInstantiated, isClone, isContextInsensitive, isSaturated, isUsedAsAParameter, isUsedAsAReceiver, method, notifyObserverOfSaturation, notifyUseOfSaturation, onInputSaturated, onObservedSaturated, onObservedUpdate, onSaturated, onSaturated, receiver, removeInput, removeObservee, removeObserver, removeUse, replacedObservedWith, replaceObservedWith, setObserved, setSaturated, setSlot, setState, setUsedAsAParameter, setUsedAsAReceiver, swapAtObserver, swapAtUse, swapOut, updatepublic NullCheckTypeFlow(BytecodePosition position,
AnalysisType inputType,
boolean blockNull)
public NullCheckTypeFlow(MethodFlowsGraph methodFlows, NullCheckTypeFlow original)
public TypeFlow<BytecodePosition> copy(PointsToAnalysis bb, MethodFlowsGraph methodFlows)
TypeFlowpublic boolean isBlockingNull()
public TypeState filter(PointsToAnalysis bb, TypeState newState)