Version 3.10.0, February 1, 2021
User-visible changes:
Moved utility classes from checker-qual.jar to the new checker-util.jar.
Also, added util to the end of all the packages of the utility classes.
In Maven Central, checker.jar no longer contains duplicates of qualifiers in checker-qual.jar, but rather uses a Maven dependency. A fat jar file with all the dependencies (like the old checker.jar) is available in Maven Central with the classifier "all".
When supplying the -Ainfer=... command-line argument, you must also supply -Awarns.
Replaced several error message keys:
contracts.precondition.expression.parameter.namecontracts.postcondition.expression.parameter.namecontracts.conditional.postcondition.expression.parameter.namemethod.declaration.expression.parameter.name
by new message keys:expression.parameter.name.invalidexpression.parameter.name.shadows.field
Implementation details:
Deprecated ElementUtils.enclosingClass; use ElementUtils.enclosingTypeElement.
Removed classes (use SourceChecker instead):
BaseTypeContextCFContextBaseContext
Removed methods:
SourceChecker.getContext(): it returned the receiverSourceChecker.getChecker(): it returned the receiverAnnotatedTypeFactory.getContext(): usegetChecker()- methods on
TreePaths from class 'TreeUtils; use the versions inTreePathUtil`.
Moved class:
org.checkerframework.framework.util.PurityUnqualifiedtoorg.checkerframework.framework.qual.PurityUnqualified
Renamed methods:
AnnotatedTypeMirror.directSuperTypes=>directSupertypes(note capitalization) for consistency withjavax.lang.model.util.TypesAnnotatedTypeMirror.removeAnnotation(Class)=>removeAnnotationByClassMethodCall.getParameters=>getArgumentsMethodCall.containsSyntacticEqualParameter=>containsSyntacticEqualArgumentArrayAccess.getReceiver=>getArray