Release 1.2.4 of the Checker Framework and Type Annotations compiler

12 views
Skip to first unread message

Werner Dietl

unread,
Dec 15, 2011, 6:41:14 PM12/15/11
to jsr308-...@googlegroups.com, checker-fram...@googlegroups.com
We have released a new version of the Type Annotations (JSR 308) compiler
and the Checker Framework.
 * The Type Annotations compiler supports the type annotation syntax that is
   planned for a future version of the Java language.
 * 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 for these projects at:
http://types.cs.washington.edu/jsr308/

Changes for the Checker Framework

Version 1.2.4, 15 Dec 2011

All checkers:
- @Target(TYPE_USE) meta-annotation is properly handled.

Nullness Checker:
- Do not allow nullness annotations on primitive types.
- Improvements to rawness (initialization) checks.
- Special-case known keys for System.getProperty.
- The -Alint=uninitialized command-line option now defaults to off, and
  applies only to initialization of primitive and @Nullable fields.  It is
  not possible to disable, from the command line, the check that all
  @NonNull fields are initialized.  Such warnings must be suppressed
  explicitly, for example by using @SuppressWarnings.

Regex Checker:
- Improved RegexUtil class.

Manual:
- Add FAQ item "Is the Checker Framework an official part of Java?"
- Trim down README.txt; users should read the manual instead.
- Improvements throughout, especially to Nullness and Regex Checker sections.

Implementation details:
- Add a new @InvisibleQualifier meta-annotation for type qualifiers.
  Instead of special-casing @Unqualified in the AnnotatedTypeMirror it
  now looks for this meta-annotation. This also allows type systems to
  hide type qualifiers it doesn't want visible, which we now use in the
  Nullness Checker to hide the @Primitive annotation.
- Nullness Checker:  Introduce a new internal qualifier @Primitive that is
  used for primitive types.
- Be stricter about qualifiers being present on all types. If you get
  errors about missing qualifiers, check your defaulting rules.
  This helped in fixing small bugs in corner cases of the type
  hierarchy and type factory.
- Unify decoding type annotations from trees and elements.
- Improve handling of annotations on type variables and upper bounds.
- Support checkers that use multiple, disjoint qualifier hierarchies.
- Many bug fixes.


Changes for the Type Annotations Compiler
Version 1.2.4, 15 Dec 2011

Base build
  Updated to OpenJDK 8 langtools as of 13 Dec 2011.

Reply all
Reply to author
Forward
0 new messages