public class CFAnalysis extends CFAbstractAnalysis<CFValue,CFStore,CFTransfer>
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 |
---|
CFAnalysis(BaseTypeChecker checker,
GenericAnnotatedTypeFactory<CFValue,CFStore,CFTransfer,CFAnalysis> factory)
Creates a new
CFAnalysis . |
Modifier and Type | Method and Description |
---|---|
CFValue |
createAbstractValue(Set<AnnotationMirror> annotations,
TypeMirror underlyingType)
Returns an abstract value containing the given
annotations and underlyingType . |
CFStore |
createCopiedStore(CFStore s)
Returns an identical copy of the store
s . |
CFStore |
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, isIgnoredExceptionType, 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 CFAnalysis(BaseTypeChecker checker, GenericAnnotatedTypeFactory<CFValue,CFStore,CFTransfer,CFAnalysis> factory)
CFAnalysis
.checker
- the checkerfactory
- the factorypublic CFStore createEmptyStore(boolean sequentialSemantics)
CFAbstractAnalysis
createEmptyStore
in class CFAbstractAnalysis<CFValue,CFStore,CFTransfer>
public CFStore createCopiedStore(CFStore s)
CFAbstractAnalysis
s
.createCopiedStore
in class CFAbstractAnalysis<CFValue,CFStore,CFTransfer>
s
public CFValue createAbstractValue(Set<AnnotationMirror> annotations, TypeMirror underlyingType)
CFAbstractAnalysis
annotations
and underlyingType
.
Returns null if the annotation set has missing annotations.createAbstractValue
in class CFAbstractAnalysis<CFValue,CFStore,CFTransfer>
annotations
and underlyingType