RetentionPolicy.CLASS too broad for TYPE_USE annotations ?

Alex Buckley alex.buckley at
Tue Oct 15 10:58:46 PDT 2013

Markus' mail went unanswered because it was sent to a list that the EG 
does not generally follow. From the listinfo page for 

"Members of the JSR 308 Expert Group are not required to follow traffic 
on this list. Questions for the Expert Group about the design and 
specification of JSR 308 may be sent to the 
type-annotations-spec-comments list."

Markus suggested that TYPE_USE annotations which appear on types in 
expressions (e.g. 'instanceof @Foo String') should not be stored in the 
class file if the annotation's own type was RetentionPolicy.CLASS (or 
presumably RetentionPolicy.RUNTIME). Markus suggested that expression 
locations be excluded from RetentionPolicy.CLASS/RUNTIME, then either be 
given their own RetentionPolicy enum constant or be flagged for class 
file storage via compiler-specific flags (c.f. -parameters).

That's an interesting idea but at this point I'm afraid it's too late to 


On 10/14/2013 10:55 PM, Srikanth S Adayapalam wrote:
> Dear EG,
> AFAICT, this issue raised by Markus Keller in the observer's list:
> has gone unanswered.
> This raises concerns about class file bloat and needs attention.
> If this was indeed discussed and I missed it somehow, appreciate pointers.
> Thanks!
> Srikanth

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