Class InitializationAnalysis
java.lang.Object
org.checkerframework.dataflow.analysis.AbstractAnalysis<CFValue,InitializationStore,InitializationTransfer>
org.checkerframework.dataflow.analysis.ForwardAnalysisImpl<CFValue,InitializationStore,InitializationTransfer>
org.checkerframework.framework.flow.CFAbstractAnalysis<CFValue,InitializationStore,InitializationTransfer>
org.checkerframework.checker.initialization.InitializationAnalysis
- All Implemented Interfaces:
Analysis<CFValue,,InitializationStore, InitializationTransfer> ForwardAnalysis<CFValue,InitializationStore, InitializationTransfer>
public class InitializationAnalysis
extends CFAbstractAnalysis<CFValue,InitializationStore,InitializationTransfer>
The analysis class for the initialization 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.WorklistNested 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, typesFields inherited from class org.checkerframework.dataflow.analysis.ForwardAnalysisImpl
blockCount, elseStores, maxCountBeforeWidening, storesAtReturnStatements, thenStoresFields inherited from class org.checkerframework.dataflow.analysis.AbstractAnalysis
cfg, currentInput, currentNode, currentTree, direction, finalLocalValues, inputs, isRunning, nodeValues, transferFunction, worklist -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedInitializationAnalysis(BaseTypeChecker checker, InitializationParentAnnotatedTypeFactory factory) Creates a newInitializationAnalysis. -
Method Summary
Modifier and TypeMethodDescriptioncreateAbstractValue(AnnotationMirrorSet annotations, TypeMirror underlyingType) Returns an abstract value containing the givenannotationsandunderlyingType.Returns an identical copy of the stores.createEmptyStore(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, getTypeHierarchy, getTypes, performAnalysisMethods inherited from class org.checkerframework.dataflow.analysis.ForwardAnalysisImpl
addStoreBefore, callTransferFunction, getInput, getInputBefore, getReturnStatementStores, getStoreBefore, initFields, initInitialInputs, performAnalysis, performAnalysisBlock, propagateStoresTo, runAnalysisForMethods 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, updateNodeValuesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.checkerframework.dataflow.analysis.Analysis
getDirection, getExceptionalExitStore, getRegularExitStore, getResult, getTransferFunction, getValue, getValue, isRunning
-
Constructor Details
-
InitializationAnalysis
protected InitializationAnalysis(BaseTypeChecker checker, InitializationParentAnnotatedTypeFactory factory) Creates a newInitializationAnalysis.- Parameters:
checker- the checkerfactory- the factory
-
-
Method Details
-
createEmptyStore
Description copied from class:CFAbstractAnalysisReturns an empty store of the appropriate type.- Specified by:
createEmptyStorein classCFAbstractAnalysis<CFValue,InitializationStore, InitializationTransfer> - Returns:
- an empty store of the appropriate type
-
createCopiedStore
Description copied from class:CFAbstractAnalysisReturns an identical copy of the stores.- Specified by:
createCopiedStorein classCFAbstractAnalysis<CFValue,InitializationStore, InitializationTransfer> - Returns:
- an identical copy of the store
s
-
createAbstractValue
public @Nullable CFValue createAbstractValue(AnnotationMirrorSet annotations, 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<CFValue,InitializationStore, InitializationTransfer> - 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
-
getTypeFactory
- Overrides:
getTypeFactoryin classCFAbstractAnalysis<CFValue,InitializationStore, InitializationTransfer>
-