<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Tue, Jul 3, 2018 at 11:31 AM Werner Dietl <<a href="mailto:wdietl@gmail.com" target="_blank">wdietl@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">8198945/webrev.02 only creates the NEW annotation for @Foo(1), but not<br>
for @Foo(3), because the latter has an INNER_TYPE location.<br>
Maybe the right check is that old.position.location doesn't contain<br>
any TYPE_ARGUMENT ?<br></blockquote><div><br></div><div>Good point. Do we also need to add an INNER_TYPE location to the NEW annotation, since the synthetic anonymous class declaration is itself an inner class? e.g. given:</div><div><br></div><div><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">class Other {}</span><br></div><div><div>class Outer {</div><div>  class Inner {</div><div>    public void f() {</div><div>      new @A Other() {}; </div><div>    }   </div><div>  }</div><div>}</div></div><div><br></div><div>Do we need an [INNER_TYPE, <span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">INNER_TYPE]</span> location to indicate that the NEW annotation is on the type Outer$Inner$1, not Outer or Outer$Inner?</div><div><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></span></div><div><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">This would involve creating INNER_TYPE entries corresponding to any enclosing classes of the synthetic anonymous class declaration, and ignoring <span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">INNER_TYPE entries on the supertype when propagating the annotation.</span></span></span></div></div></div>