<div dir="ltr">Jon, Steve, all,<div><br></div><div>I&#39;m debugging some strange behavior and I would appreciate a quick look by somebody else. I&#39;m probably missing something very obvious.</div><div><br></div><div>Take the attached class that contains a class nested within an anonymous class.</div>

<div>Compile with the type-annotations javac and you&#39;ll get this output:</div><div><br></div><div><div>ClassWriter: Position UNKNOWN in type annotation: @TA</div><div>ClassWriter: Position UNKNOWN in type annotation: @TA</div>

<div><br></div><div style>That&#39;s bad, as it means that the type annotation is not written. We confirm this by running javap:</div><div style><br></div><div style>javap -v NestedTest\$1\$Inner.class<br></div><div style>

<br></div><div style>Nothing on the type parameter.</div><div style><br></div><div style>The strange thing is that this works if we remove the declaration of field i1.</div><div style>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.</div>

<div style><br></div><div style>Does anybody understand the dependency between field i1 and the type parameter X?</div><div><br></div><div style>Steve: could you expand the tests in tools/javac/annotations/typeAnnotations/referenceinfos/ to ensure that annotations in anonymous classes and lambdas work as expected?</div>

<div style>Please also add a failing test for this.</div><div style><br></div><div style>Thanks,</div><div style>cu, WMD.</div><div style><br></div>-- <br><a href="http://www.google.com/profiles/wdietl">http://www.google.com/profiles/wdietl</a>
</div></div>