github typetools/checker-framework checker-framework-3.7.0
Checker Framework 3.7.0

latest releases: checker-framework-3.52.1, checker-framework-3.52.0, checker-framework-3.51.1...
5 years ago

Version 3.7.0, October 1, 2020

The new Called Methods Checker tracks methods that have definitely been called on an object. It automatically supports detecting mis-uses of the builder pattern in code that uses Lombok or AutoValue.

Accumulation analysis is now supported via a generic Accumulation Checker. An accumulation analysis is a restricted form of typestate analysis that does not require a precise alias analysis for soundness. The Called Methods Checker is an accumulation analysis.

The Nullness Checker supports annotations org.codehaus.commons.nullanalysis.NotNull, org.codehaus.commons.nullanalysis.Nullable, and org.jspecify.annotations.Nullable.

The Signature Checker supports annotations @CanonicalName and @CanonicalNameOrEmpty.
The Signature Checker treats jdk.jfr.Unsigned as an alias for its own @Unsigned annotation.

The shorthand syntax for the -processor command-line argument applies to
utility checkers, such as the Constant Value Checker.

Implementation details:

A checker implementation may override AnnotatedTypeFactory.getWidenedAnnotations
to provide special behavior for primitive widening conversions.

Deprecated org.checkerframework.framework.util.MultiGraphQualifierHierarchy and org.checkerframework.framework.util.GraphQualifierHierarchy. Removed AnnotatedTypeFactory#createQualifierHierarchy(MultiGraphFactory) and AnnotatedTypeFactory#createQualifierHierarchyFactory.
See Javadoc of MultiGraphQualifierHierarchy for instructions on how to use the new classes and methods.

Renamed methods:
NumberUtils.isFloatingPoint => TypesUtils.isFloatingPoint
NumberUtils.isIntegral => TypesUtils.isIntegralPrimitiveOrBoxed
NumberUtils.isPrimitiveFloatingPoint => TypeKindUtils.isFloatingPoint
NumberUtils.isPrimitiveIntegral => TypeKindUtils.isIntegral
NumberUtils.unboxPrimitive => TypeKindUtils.primitiveOrBoxedToTypeKind
TypeKindUtils.widenedNumericType => TypeKindUtils.widenedNumericType
TypesUtils.isFloating => TypesUtils.isFloatingPrimitive
TypesUtils.isIntegral => TypesUtils.isIntegralPrimitive

The CFStore copy constructor now takes only one argument.

Closed issues:
#352, #354, #553, #722, #762, #2208, #2239, #3033, #3105, #3266, #3275, #3408, #3561, #3616, #3619, #3622, #3625, #3630, #3632, #3648, #3650, #3667, #3668, #3669, #3700, #3701.

Don't miss a new checker-framework release

NewReleases is sending notifications on new releases.