[JSR308] Release 0.7 of JSR 308 javac, Checker Framework, and checkers

Michael Ernst mernst at csail.mit.edu
Sun Jun 15 08:18:49 EDT 2008


We have released version 0.7 of the JSR 308 implementation and of the
Checker Framework.  You can always download the latest version of these
tools at:  http://groups.csail.mit.edu/pag/jsr308/ .

The JSR 308 implementation is a backward-compatible extension to javac.
The Checker Framework makes it easy to write a tool that finds or prevents
errors; the tool is expressed as a type-checker for a pluggable type
system.  The Checker Framework distribution includes sample checkers.

This release includes simpler installation instructions for Linux, it
renames two of the distributed checkers, it documents polymorphic type
qualifiers, it improves how a type system designer specifies the type
qualifier hierarchy, and it improves the manual, among other enhancements.
The changelogs appear below.

                    -Michael Ernst


------------------ Changelog for JSR 308 implementation -------------------

Version 0.7, 14 June 2008

Installation
  New, very simple installation instructions for Linux.  For other
    operating systems, continue to use the old instructions.

Base build
  Updated to OpenJDK langtools build b28

--------------------- Changelog for Checker Framework ---------------------

Version 0.7, 14 June 2008

Installation
  New, very simple installation instructions for Linux.  For other
    operating systems, you should continue to use the old instructions.

Nullness Checker
  Renamed from "NonNull Checker" to "Nullness Checker".
    Renamed package from checkers.nonnull to checkers.nullness.
    The annotation names remain the same.
  Added PolyNull, a polymorphic type qualifier for nullness.

Interning Checker
  Renamed from "Interned Checker" to "Interning Checker".
    Renamed package from checkers.interned to checkers.interning.
    The annotation names remain the same.
  Added PolyInterned, a polymorphic type qualifier for Interning.
  Added support for @Default annotation.

Framework
  Qualifiers
    @PolymorphicQualifier was not previously documented in the manual.
    Moved meta-qualifiers from checkers.metaquals package to checkers.quals.
    Removed @VariableQualifier and @RootQualifier meta-qualifiers.
  Added BasicAnnotatedTypeFactory, a factory that handles ImplicitFor,
    defaults, flow-sensitive type inference.
  Deprecated GraphQualifierHierarchy; DAGQualifierHierarchy replaces it.
  Renamed methods in QualifierHierarchy.
  
Manual
  Rewrote several manual sections, most notably:
    2.1.1  Writing annotations in comments for backward compatibility
      (note new -Xspacesincomments argument to javac)
    2.3  Checking partially-annotated programs: handling unannotated code
    2.6  Default qualifier for unannotated types
    2.7  Implicitly refined types (flow-sensitive type qualifier inference)
    8  Annotating libraries
  Javadoc for the Checker Framework is included in its distribution and is
    available online at http://groups.csail.mit.edu/pag/jsr308/current/doc/ .

---------------------------------------------------------------------------



More information about the JSR308 mailing list