<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<font size="4"><font face="monospace">Re-reading Ch16, you're right,
this seems simpler than I was making it. There are several
sentences of the form<br>
<br>
<blockquote type="cite">Such an assignment is defined to occur
if and only if either the simple name of the<br>
variable (or, for a field, its simple name qualified by this)</blockquote>
<br>
I think these can be refined to say something like<br>
<br>
(or for a field, its simple named qualified by `this` (both
qualified and unqualified))<br>
<br>
This language is already present in 16.1.10, but missing in
other uses of "qualified by this" in Ch16. We're not talking
about `this` and `X.this`, but about different ways to name the
same field. <br>
<br>
</font></font><br>
<div class="moz-cite-prefix">On 12/1/2022 4:29 PM, Archie Cobbs
wrote:<br>
</div>
<blockquote type="cite" cite="mid:CANSoFxvfGLozyUfUdw9jnQUXi1GtPCPDLYYKH9wyB-7dxsDO6g@mail.gmail.com">
<div dir="ltr">
<div dir="ltr">On Thu, Dec 1, 2022 at 1:03 PM Brian Goetz <<a href="mailto:brian.goetz@oracle.com" moz-do-not-send="true" class="moz-txt-link-freetext">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>
</blockquote>
<br>
</body>
</html>