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 toisStrongerThan()and no longer takes anAnnotatedTypeFactory
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.