Checker Framework 2.8.0
Version 2.8.0, April 3, 2019
Support androidx.annotation.RecentlyNonNull
and RecentlyNullable
(as of 2.6.0, but not previously documented).
The following qualifiers are now repeatable: @DefaultQualifier
@EnsuresQualifierIf
@EnsuresQualifier
@RequiresQualifier
. Therefore, users generally do not need to write the following wrapper annotations: @DefaultQualifiers
@EnsuresQualifiersIf
@EnsuresQualifiers
@RequiresQualifiers
.
New command-line option -ArequirePrefixInWarningSuppressions
makes @SuppressWarnings
recognize warning keys of the form "checkername:key.about.problem" but ignore warning keys of the form "key.about.problem" without the checker name as a prefix.
New CONSTRUCTOR_RESULT enum constant in TypeUseLocation makes it possible to set default annotations for constructor results.
Clarified the semantics of annotations on class and constructor declarations. See Section 25.5 "Annotations on classes and constructors" in the manual.
Interface changes:
- Added protected methods to BaseTypeVisitor so that checkers can change the checks for annotations on classes, constructor declarations, and constructor invocations.
- Removed BaseTypeVisitor#checkAssignability and BaseTypeVisitor#isAssignable methods.
- Renamed AnnotatedTypeFactory#getEnclosingMethod to AnnotatedTypeFactory#getEnclosingElementForArtificialTree
Closed issues:
2159, 2230, 2318, 2324, 2330, 2334, 2343, 2344, 2353, 2366, 2367, 2370, 2371, 2385.