The Java 6 annotation syntax is useful but limited. The Type Annotations
syntax permits annotations to be written in more places, such as generic
type arguments: List<@NonNull Object>
.
Programmers can use type annotations to write more informative types, and
then tools such as type-checkers can detect and prevent more errors.
This project is sponsored by the OpenJDK Compiler Group and is targeted for inclusion in the Java SE 7 platform.
The Type Annotations specification indicates changes to the Java language and platform.
(This should also point at the Mercurial repository.)
Several other tools already use the type annotation syntax.
@NonNull
type qualifier, use the
Julia
Analyzer, Nit, or JastAdd
@ReadOnly
type qualifier, use Javarifier
.java
and .class
files.