Class NullnessNoInitAnalysis
- java.lang.Object
-
- org.checkerframework.dataflow.analysis.AbstractAnalysis<V,S,T>
-
- org.checkerframework.dataflow.analysis.ForwardAnalysisImpl<V,S,T>
-
- org.checkerframework.framework.flow.CFAbstractAnalysis<NullnessNoInitValue,NullnessNoInitStore,NullnessNoInitTransfer>
-
- org.checkerframework.checker.nullness.NullnessNoInitAnalysis
-
- All Implemented Interfaces:
Analysis<NullnessNoInitValue,NullnessNoInitStore,NullnessNoInitTransfer>,ForwardAnalysis<NullnessNoInitValue,NullnessNoInitStore,NullnessNoInitTransfer>
public class NullnessNoInitAnalysis extends CFAbstractAnalysis<NullnessNoInitValue,NullnessNoInitStore,NullnessNoInitTransfer>
The analysis class for the non-null type system (serves as factory for the transfer function, stores and abstract values.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.checkerframework.framework.flow.CFAbstractAnalysis
CFAbstractAnalysis.FieldInitialValue<V extends CFAbstractValue<V>>
-
Nested classes/interfaces inherited from class org.checkerframework.dataflow.analysis.AbstractAnalysis
AbstractAnalysis.Worklist
-
Nested classes/interfaces inherited from interface org.checkerframework.dataflow.analysis.Analysis
Analysis.BeforeOrAfter, Analysis.Direction
-
-
Field Summary
-
Fields inherited from class org.checkerframework.framework.flow.CFAbstractAnalysis
atypeFactory, checker, dependentTypesHelper, env, fieldValues, qualHierarchy, typeHierarchy, types
-
Fields inherited from class org.checkerframework.dataflow.analysis.ForwardAnalysisImpl
blockCount, elseStores, maxCountBeforeWidening, storesAtReturnStatements, thenStores
-
Fields inherited from class org.checkerframework.dataflow.analysis.AbstractAnalysis
cfg, currentInput, currentNode, currentTree, direction, finalLocalValues, inputs, isRunning, nodeValues, transferFunction, worklist
-
-
Constructor Summary
Constructors Constructor Description NullnessNoInitAnalysis(BaseTypeChecker checker, NullnessNoInitAnnotatedTypeFactory factory)Creates a newNullnessAnalysis.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description @Nullable NullnessNoInitValuecreateAbstractValue(AnnotationMirrorSet annotations, javax.lang.model.type.TypeMirror underlyingType)Returns an abstract value containing the givenannotationsandunderlyingType.NullnessNoInitStorecreateCopiedStore(NullnessNoInitStore s)Returns an identical copy of the stores.NullnessNoInitStorecreateEmptyStore(boolean sequentialSemantics)Returns an empty store of the appropriate type.-
Methods inherited from class org.checkerframework.framework.flow.CFAbstractAnalysis
createAbstractValue, createSingleAnnotationValue, createTransferFunction, defaultCreateAbstractValue, getEnv, getFieldInitialValues, getTypeFactory, getTypeHierarchy, getTypes, performAnalysis
-
Methods inherited from class org.checkerframework.dataflow.analysis.ForwardAnalysisImpl
addStoreBefore, callTransferFunction, getInput, getInputBefore, getReturnStatementStores, getStoreBefore, initFields, initInitialInputs, performAnalysis, performAnalysisBlock, propagateStoresTo, runAnalysisFor
-
Methods inherited from class org.checkerframework.dataflow.analysis.AbstractAnalysis
addToWorklist, getContainingClass, getContainingMethod, getCurrentTree, getDirection, getExceptionalExitStore, getNodesForTree, getNodeValues, getRegularExitStore, getResult, getTransferFunction, getValue, getValue, init, isIgnoredExceptionType, isRunning, readFromStore, setCurrentNode, setCurrentTree, updateNodeValues
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.checkerframework.dataflow.analysis.Analysis
getDirection, getExceptionalExitStore, getRegularExitStore, getResult, getTransferFunction, getValue, getValue, isRunning
-
-
-
-
Constructor Detail
-
NullnessNoInitAnalysis
public NullnessNoInitAnalysis(BaseTypeChecker checker, NullnessNoInitAnnotatedTypeFactory factory)
Creates a newNullnessAnalysis.- Parameters:
checker- the checkerfactory- the factory
-
-
Method Detail
-
createEmptyStore
public NullnessNoInitStore createEmptyStore(boolean sequentialSemantics)
Description copied from class:CFAbstractAnalysisReturns an empty store of the appropriate type.- Specified by:
createEmptyStorein classCFAbstractAnalysis<NullnessNoInitValue,NullnessNoInitStore,NullnessNoInitTransfer>- Returns:
- an empty store of the appropriate type
-
createCopiedStore
public NullnessNoInitStore createCopiedStore(NullnessNoInitStore s)
Description copied from class:CFAbstractAnalysisReturns an identical copy of the stores.- Specified by:
createCopiedStorein classCFAbstractAnalysis<NullnessNoInitValue,NullnessNoInitStore,NullnessNoInitTransfer>- Returns:
- an identical copy of the store
s
-
createAbstractValue
public @Nullable NullnessNoInitValue createAbstractValue(AnnotationMirrorSet annotations, javax.lang.model.type.TypeMirror underlyingType)
Description copied from class:CFAbstractAnalysisReturns an abstract value containing the givenannotationsandunderlyingType. Returns null if the annotation set has missing annotations.- Specified by:
createAbstractValuein classCFAbstractAnalysis<NullnessNoInitValue,NullnessNoInitStore,NullnessNoInitTransfer>- Parameters:
annotations- the annotations for the result annotated typeunderlyingType- the unannotated type for the result annotated type- Returns:
- an abstract value containing the given
annotationsandunderlyingType
-
-