[JSR308] New version of JSR 308 working document
Michael Ernst
mernst at csail.mit.edu
Mon Oct 29 13:10:59 EDT 2007
I've placed a new version of the JSR 308 working document at these URLs:
http://groups.csail.mit.edu/pag/jsr308/java-annotation-design.pdf
http://groups.csail.mit.edu/pag/jsr308/java-annotation-design.html
The changelog entry follows my signature.
-Mike
Changes to normative section:
* Use new ElementType.TYPEREF enum constant for type annotations,
instead of overloading the existing ElementType.TYPE enum constant.
Changes to non-normative section:
* Add new example of need for annotations on array elements (non-null
type system with non-null default).
* Clarify the principle that annotations should not affect behavior: in
the absence of an annotation processor, the compiler produces the
same bytecodes for annotated code as it would have for the same code
without annotations.
* Discuss backward-compatibility with Java 5 annotation processors,
including reading annotations from files produced by Java 5
compilers, and putting annotations in files when the -target 5 switch
is supplied to javac.
* Note a problem with desugaring duplicate annotations into arrays: it
loses ordering information among different annotations. Also add
another approach to duplicate annotations: adding a getAnnotations
method like the current getAnnotation method.
* Expand discussion of permitting annotations to subclass one another,
including providing some use cases and explaining some potential
problems.
Editorial improvements:
* Fix placement of figures in PDF version of document.
More information about the JSR308
mailing list