Checker Framework 3.26.0-eisop1
Version 3.26.0-eisop1 (October 13, 2022)
Implementation details:
Documentation improvements and various code fixes.
Closed issues:
Version 3.26.0 (October 3, 2022)
User-visible changes:
The Checker Framework runs under JDK 18 -- that is, it runs on a version 18 JVM.
(It worked before, but gave a warning that it was not tested.)
Annotations are available for some new JDK 17 APIs (some of those
introduced since JDK 11).
Added -AnoWarnMemoryConstraints
to change the "Memory constraints are impeding
performance; please increase max heap size" message from a warning to a note.
'unneeded.suppression' warnings can now themeselves be suppressed.
Implementation details:
Deprecated TreeUtils.constructor()
in favor of TreeUtils.elementFromUse()
.
Added method isSideEffectFree()
to the AnnotationProvider
interface.
Deprecated CFAbstractStore.isSideEffectFree()
in favor of new method
AnnotationProvider.isSideEffectFree()
. Note the different contracts of
PurityUtils.isSideEffectFree()
and AnnotationProvider.isSideEffectFree()
.
Use TreeUtils.elementFromDeclaration
and TreeUtils.elementFromUse
in
preference to TreeUtils.elementFromTree
, when possible.
For code formatting, use ./gradlew spotlessCheck
and ./gradlew spotlessApply
.
The checkFormat
and reformat
Gradle tasks have been removed.
Removed variable BaseTypeVisitor.inferPurity
.
Closed issues:
typetools#5081, typetools#5159, typetools#5245, typetools#5302, typetools#5319, typetools#5323.