Problem with type annotations on a type parameter

Werner Dietl wdietl at
Thu Apr 4 18:02:56 PDT 2013

Jon, Steve, all,

I'm debugging some strange behavior and I would appreciate a quick look by
somebody else. I'm probably missing something very obvious.

Take the attached class that contains a class nested within an anonymous
Compile with the type-annotations javac and you'll get this output:

ClassWriter: Position UNKNOWN in type annotation: @TA
ClassWriter: Position UNKNOWN in type annotation: @TA

That's bad, as it means that the type annotation is not written. We confirm
this by running javap:

javap -v NestedTest\$1\$Inner.class

Nothing on the type parameter.

The strange thing is that this works if we remove the declaration of field
It also works if instead of a method type parameter we declare a method
parameter, or a class type parameter, or if the class is outside of the
anonymous class.

Does anybody understand the dependency between field i1 and the type
parameter X?

Steve: could you expand the tests in
tools/javac/annotations/typeAnnotations/referenceinfos/ to ensure that
annotations in anonymous classes and lambdas work as expected?
Please also add a failing test for this.

cu, WMD.

-------------- next part --------------
An HTML attachment was scrubbed...
-------------- next part --------------
A non-text attachment was scrubbed...
Type: application/octet-stream
Size: 316 bytes
Desc: not available
Url : 

More information about the type-annotations-dev mailing list