Release 3.35.0 of the Checker Framework

11 views
Skip to first unread message

Suzanne Millstein

unread,
Jun 1, 2023, 2:30:05 PM6/1/23
to Checker Framework discussion

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.35.0:


Version 3.35.0 (June 1, 2023)

User-visible changes:

The Checker Framework no longer issues type.checking.not.run errors. This reduces clutter in the output.

Signedness Checker:

  • The receiver type of Object.hashCode() is now @UnknownSignedness.

Implementation details:

Instead of overriding isRelevant(), a type factory implementation should override isRelevantImpl(). Clients should continue to call isRelevant(); never call isRelevantImpl().

Methods that now return a boolean rather than void:

  • commonAssignmentCheck()
  • checkArrayInitialization()
  • checkLock()
  • checkLockOfThisOrTree()
  • ensureExpressionIsEffectivelyFinal()

Methods that now return AnnotationMirrorSet instead of Set<? extends AnnotationMirror>:

  • getTopAnnotations()
  • getBottomAnnotations()
  • getDefaultTypeDeclarationBounds()
  • getExceptionParameterLowerBoundAnnotations()

Renamed BaseTypeVisitor.checkExtendsImplements() to checkExtendsAndImplements().

Class FieldInvariants:

  • constructor now takes an AnnotatedTypeFactory
  • isSuperInvariant() has been renamed to isStrongerThan() and no longer takes an AnnotatedTypeFactory

CFAbstractValue.validateSet() takes a type factory rather than a QualifierHierarchy.

Removed methods that have been deprecated for over two years.

Closed issues:

#4170#5722#5777#5807#5821#5826#5829#5837#5930.

Reply all
Reply to author
Forward
0 new messages