We have released a new version of the Checker Framework.
The Checker Framework lets you create and/or run pluggable type checkers, in order to detect and prevent bugs in your code.
You can find documentation and download links at:
Implementation details:
Removed methods:
AbstractAnalysis.readFromStore(): use Map.get()Renamed methods:
CFAbstractStore.methodValues() => methodCallExpressions()AbstractCFGVisualizer.format() => escapeString()Renamed fields:
AnalysisResult.stores => inputsDeprecated methods:
AbstractAnalysis.getContainingMethod() => getEnclosingMethod()AbstractAnalysis.getContainingClass() => getEnclosingMethod()ControlFlowGraph.getContainingMethod() => getEnclosingMethod()ControlFlowGraph.getContainingClass() => getEnclosingClass()JavaExpression.isUnassignableByOtherCode() => isAssignableByOtherCode()JavaExpression.isUnmodifiableByOtherCode() => isModifiableByOtherCode()BaseTypeVisitor#visitMethod(MethodTree, Void) is now final. Subclasses should override BaseTypeVisitor#processMethodTree(MethodTree).
Closed issues:
#802, #2676, #2780, #2926, #3378, #3612, #3764, #4007, #4964, #5070, #5176, #5237, #5541, #6046, #6382, #6388, #6566, #6568, #6570, #6576, #6577, #6631, #6635, #6636, #6644.