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:
http://CheckerFramework.org/Changes for Checker Framework version 3.31.0:
**User-visible changes:**
Command-line argument `-AshowPrefixInWarningMessages` puts the checker name on the first line of each warning and error message.
Signedness Checker changes:
* Cast expressions are not subject to type refinement. When a programmer writes a cast such as `(@Signed int) 2`, it is not refined to `@SignednessGlb` and cannot be used in an unsigned context.
* When incompatible arguments are passed to `@PolySigned` formal parameters, the error is expressed in terms of `@SignednessBottom` rather than the greatest lower bound of the argument types.
**Implementation details:**
Moved `AnnotationMirrorSet` and `AnnotationMirrorMap` from `org.checkerframework.framework.util` to `org.checkerframework.javacutil`.
Changed uses of `Set<AnnotationMirror>` to `AnnotationMirrorSet` including in APIs.
Removed methods from AnnotationUtils that are no longer useful:
`createAnnotationMap`, `createAnnotationSet`, `createUnmodifiableAnnotationSet`.
**Closed issues:**
#5597.