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
=> inputs
Deprecated 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.