Class CalledMethodsAnalysis
- java.lang.Object
-
- org.checkerframework.dataflow.analysis.AbstractAnalysis<V,S,T>
-
- org.checkerframework.dataflow.analysis.ForwardAnalysisImpl<V,S,T>
-
- org.checkerframework.framework.flow.CFAbstractAnalysis<AccumulationValue,AccumulationStore,AccumulationTransfer>
-
- org.checkerframework.common.accumulation.AccumulationAnalysis
-
- org.checkerframework.checker.calledmethods.CalledMethodsAnalysis
-
- All Implemented Interfaces:
Analysis<AccumulationValue,AccumulationStore,AccumulationTransfer>
,ForwardAnalysis<AccumulationValue,AccumulationStore,AccumulationTransfer>
- Direct Known Subclasses:
ResourceLeakAnalysis
public class CalledMethodsAnalysis extends AccumulationAnalysis
The analysis for the Called Methods Checker. The analysis is specialized to ignore certain exception types; seeisIgnoredExceptionType(TypeMirror)
.
-
-
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 Modifier and Type Field Description protected static java.util.Set<java.lang.String>
ignoredExceptionTypes
The fully-qualified names of the exception types that are ignored by this checker when computing dataflow stores.-
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 Modifier Constructor Description protected
CalledMethodsAnalysis(BaseTypeChecker checker, CalledMethodsAnnotatedTypeFactory factory)
Creates a newCalledMethodsAnalysis
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
isIgnoredExceptionType(javax.lang.model.type.TypeMirror exceptionType)
Ignore exceptional control flow due to ignored exception types.-
Methods inherited from class org.checkerframework.common.accumulation.AccumulationAnalysis
createAbstractValue, createCopiedStore, createEmptyStore
-
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, 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
-
CalledMethodsAnalysis
protected CalledMethodsAnalysis(BaseTypeChecker checker, CalledMethodsAnnotatedTypeFactory factory)
Creates a newCalledMethodsAnalysis
.- Parameters:
checker
- the checkerfactory
- the factory
-
-
Method Detail
-
isIgnoredExceptionType
protected boolean isIgnoredExceptionType(javax.lang.model.type.TypeMirror exceptionType)
Ignore exceptional control flow due to ignored exception types.- Overrides:
isIgnoredExceptionType
in classAbstractAnalysis<AccumulationValue,AccumulationStore,AccumulationTransfer>
- Parameters:
exceptionType
- exception type- Returns:
true
ifexceptionType
is a member ofignoredExceptionTypes
,false
otherwise
-
-