I have released a new version of the JSR 308 specification. (Thanks for
all the useful comments, and keep them coming!)
You can always find the current version at:
http://types.cs.washington.edu/jsr308/specification/java-annotation-design.html
http://types.cs.washington.edu/jsr308/specification/java-annotation-design.pdf
The changelog for the current release appears below.
-Michael Ernst
Changes to normative section:
* Permit annotations on types in throws clause.
* If an annotation has no @Target meta-annotation, then it applies
everywhere, not just the ElementTypes that were supported in Java SE 6.
* Changes to classfile format:
o Change extends/implements from using u1 to u2.
o Rename reference_info to target_info. Introduce names for each
variant.
o Clarify where attributes appear (on what element in the class file).
* Improve discussion of annotations on compiler-generated methods (such as
bridge methods). Cut compiler-specific discussion.
* The grammar summary in Section 2.1 now separates type parameter
declarations from type uses.
Changes to non-normative section:
* Add new section "Annotations on receiver type parameters" as a
potential future extension to the syntax.