public class NullnessAnalysis extends CFAbstractAnalysis<NullnessValue,NullnessStore,NullnessTransfer>
CFAbstractAnalysis.FieldInitialValue<V extends CFAbstractValue<V>>
AbstractAnalysis.Worklist
Analysis.BeforeOrAfter, Analysis.Direction
atypeFactory, checker, dependentTypesHelper, env, fieldValues, qualifierHierarchy, typeHierarchy, types
blockCount, elseStores, maxCountBeforeWidening, storesAtReturnStatements, thenStores
cfg, currentInput, currentNode, currentTree, direction, finalLocalValues, inputs, isRunning, nodeValues, transferFunction, worklist
Constructor and Description |
---|
NullnessAnalysis(BaseTypeChecker checker,
NullnessAnnotatedTypeFactory factory)
Creates a new
NullnessAnalysis . |
Modifier and Type | Method and Description |
---|---|
NullnessValue |
createAbstractValue(Set<AnnotationMirror> annotations,
TypeMirror underlyingType)
Returns an abstract value containing the given
annotations and underlyingType . |
NullnessStore |
createCopiedStore(NullnessStore s)
Returns an identical copy of the store
s . |
NullnessStore |
createEmptyStore(boolean sequentialSemantics)
Returns an empty store of the appropriate type.
|
createAbstractValue, createSingleAnnotationValue, createTransferFunction, defaultCreateAbstractValue, getEnv, getFieldInitialValues, getTypeFactory, getTypeHierarchy, getTypes, performAnalysis
addStoreBefore, callTransferFunction, getInput, getInputBefore, getReturnStatementStores, getStoreBefore, initFields, initInitialInputs, performAnalysis, performAnalysisBlock, propagateStoresTo, runAnalysisFor
addToWorklist, getContainingClass, getContainingMethod, getCurrentTree, getDirection, getExceptionalExitStore, getNodesForTree, getNodeValues, getRegularExitStore, getResult, getTransferFunction, getValue, getValue, init, isRunning, readFromStore, setCurrentNode, setCurrentTree, updateNodeValues
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDirection, getExceptionalExitStore, getRegularExitStore, getResult, getTransferFunction, getValue, getValue, isRunning
public NullnessAnalysis(BaseTypeChecker checker, NullnessAnnotatedTypeFactory factory)
NullnessAnalysis
.checker
- the checkerfactory
- the factorypublic NullnessStore createEmptyStore(boolean sequentialSemantics)
CFAbstractAnalysis
createEmptyStore
in class CFAbstractAnalysis<NullnessValue,NullnessStore,NullnessTransfer>
public NullnessStore createCopiedStore(NullnessStore s)
CFAbstractAnalysis
s
.createCopiedStore
in class CFAbstractAnalysis<NullnessValue,NullnessStore,NullnessTransfer>
s
public NullnessValue createAbstractValue(Set<AnnotationMirror> annotations, TypeMirror underlyingType)
CFAbstractAnalysis
annotations
and underlyingType
.
Returns null if the annotation set has missing annotations.createAbstractValue
in class CFAbstractAnalysis<NullnessValue,NullnessStore,NullnessTransfer>
annotations
and underlyingType