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

latest releases: checker-framework-3.53.0, checker-framework-3.52.1, checker-framework-3.52.0...
4 years ago

Version 3.17.0 (August 2, 2021)

User-visible changes:

-Ainfer can now infer postcondition annotations that reference formal parameters (e.g. "#1", "#2") and the receiver ("this").

Implementation details:

Method renamings and signature changes (old methods are removed) in GenericAnnotatedTypeFactory:

  • getPreconditionAnnotation(VariableElement, AnnotatedTypeMirror) => getPreconditionAnnotations(String, AnnotatedTypeMirror, AnnotatedTypeMirror)
  • getPostconditionAnnotation(VariableElement, AnnotatedTypeMirror, List<AnnotationMirror>) => getPostconditionAnnotations(String, AnnotatedTypeMirror, AnnotatedTypeMirror, List<AnnotationMirror>)
  • getPreOrPostconditionAnnotation(VariableElement, AnnotatedTypeMirror, Analysis.BeforeOrAfter, List<AnnotationMirror>) => getPreOrPostconditionAnnotations(String, AnnotatedTypeMirror, AnnotatedTypeMirror, Analysis.BeforeOrAfter, List<AnnotationMirror>)
  • requiresOrEnsuresQualifierAnno(VariableElement, AnnotationMirror, Analysis.BeforeOrAfter) => createRequiresOrEnsuresQualifier(String, AnnotationMirror, AnnotatedTypeMirror, Analysis.BeforeOrAfter, List<AnnotationMirror>)

Method renamings and signature changes (old method is removed) in WholeProgramInferenceStorage:

  • getPreOrPostconditionsForField(Analysis.BeforeOrAfter, ExecutableElement, VariableElement, AnnotatedTypeFactory) => getPreOrPostconditions(Analysis.BeforeOrAfter, ExecutableElement, String, AnnotatedTypeMirror, AnnotatedTypeFactory)

Method renamings:

  • CFAbstractAnalysis.getFieldValues => getFieldInitialValues

The following methods no longer take a fieldValues parameter:

  • GenericAnnotatedTypeFactory#createFlowAnalysis
  • CFAnalysis constructor
  • CFAbstractAnalysis#performAnalysis
  • CFAbstractAnalysis constructors

Closed issues:
#4685, #4689, #4785, #4805, #4806, #4815, #4829, #4849.

Don't miss a new checker-framework release

NewReleases is sending notifications on new releases.