May 2 version of the Type Annotations (JSR 308) Specification

Michael Ernst mernst at
Thu May 2 21:47:44 PDT 2013

A new version of the Type Annotations (JSR 308) Specification is available at

The changelog appears below.


Grammar changes:
Refactor JLS grammar to clarify that throws and catch clauses contain type 
uses that can be annotated, even though type parameters and arrays are 
forbidden in such locations. See the productions for QualifiedType, 
UnannQualifiedType, and QualifiedTypeList.

Classfile changes:
Remove unused target_info method_reference_target.

Give examples of interaction between multiple @Target meta-annotations and 
fully-qualified type names.
Explain why instanceof uses offset_target but cast uses type_argument_target.
Move examples of classfile annotations, which are not normative, into an 
appendix so that Section 3 contains only normative text.

More information about the type-annotations-spec-experts mailing list