<div dir="ltr"><div dir="ltr">On Thu, Dec 1, 2022 at 1:03 PM Brian Goetz <<a href="mailto:brian.goetz@oracle.com">brian.goetz@oracle.com</a>> wrote:</div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

  
  <div>
    <font size="4"><font face="monospace">To come up with a sensible meaning of option (2), I think we
        have to assess the spec impact of threading the equivalence of
        `[implicit C].this` and `C.this` through the spec?<br></font></font></div></blockquote><div><br></div><div>I think it depends on how ambitious you want to be.<br></div><div><br></div><div>At its narrowest, this issue is not about the equivalence of "MyClass.this" and "this", it's about the equivalence of "MyClass.this.foo" and "this.foo", and only as that relates to definite assignment, i.e., it's about the definition of the phrase "access to its value" in the first two sentences of JLS §16. And of course this definition is a lexical one, not a semantic one.<br></div><br><div>I agree it would be nicer if the entire JLS were refactored to make "MyClass.this" and "this" always mean the same thing (only when "this" has type MyClass of course), but that's a bigger change than is strictly necessary here. And I'm fuzzier on what that would even mean... what other sections are there besides §16 that talk about "this" and/or "MyClass.this" in lexical terms instead of in terms of the object reference that they represent? I'm not familiar enough to know if there even are any, or which sections they are, off the top of my head.<br></div><div><br></div><div>-Archie<br></div></div><br>-- <br><div dir="ltr" class="gmail_signature">Archie L. Cobbs<br></div></div>