<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div class="markdown-here-wrapper" data-md-url="" style="">
<p style="margin: 0px 0px 1.2em !important;">On 11/06/2024 17:17,
Stephan Herrmann wrote:</p>
<p style="margin: 0px 0px 1.2em !important;"></p>
<div class="markdown-here-exclude">
<p></p>
<blockquote type="cite" cite="mid:a35d988b-4503-49d9-b239-e4c388370693@berlin.de">I'm
sorry, I didn't look at the specific complications. This
particular one is wrongly accepted also by ecj. IOW there is
some confusion indeed regarding how far the "staticness"
propagates into nested structures.
</blockquote>
<p></p>
</div>
<p style="margin: 0px 0px 1.2em !important;"></p>
<p style="margin: 0px 0px 1.2em !important;">Ok. I tried this
example:</p>
<pre style="font-size: 0.85em; font-family: Consolas, Inconsolata, Courier, monospace;font-size: 1em; line-height: 1.2em;margin: 1.2em 0px;"><code style="font-size: 0.85em; font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;white-space: pre; overflow: auto; border-radius: 3px; border: 1px solid rgb(204, 204, 204); padding: 0.5em 0.7em; display: block !important;">$ cat Foo.java
class Test {
interface Bar { }
static class Foo {
Foo(Bar bar) { }
}
int x;
class Inner extends Foo {
Inner() {
super(new Bar() {
{ Test.this.x++; } // allowed???
});
}
}
}
</code></pre>
<pre style="font-size: 0.85em; font-family: Consolas, Inconsolata, Courier, monospace;font-size: 1em; line-height: 1.2em;margin: 1.2em 0px;"><code style="font-size: 0.85em; font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;white-space: pre; overflow: auto; border-radius: 3px; border: 1px solid rgb(204, 204, 204); padding: 0.5em 0.7em; display: block !important;">java -jar org.eclipse.jdt.core.compiler.batch_3.38.0.v20240524-2033.jar Foo.java
----------
1. ERROR in /w/lt/jdk/dev/Foo.java (at line 11)
{ Test.this.x++; } // allowed???
^^^^^^^^^
No enclosing instance of the type Test is accessible in scope
----------
1 problem (1 error)
</code></pre>
<p style="margin: 0px 0px 1.2em !important;">This seems to suggest
that the “outside JLS†behavior is not supported by ecj?</p>
<p style="margin: 0px 0px 1.2em !important;">Maurizio</p>
<div title="MDH:PHA+PGJyPjwvcD48ZGl2IGNsYXNzPSJtb3otY2l0ZS1wcmVmaXgiPk9uIDExLzA2LzIwMjQgMTc6
MTcsIFN0ZXBoYW4gSGVycm1hbm4gd3JvdGU6PGJyPjwvZGl2PjxibG9ja3F1b3RlIHR5cGU9ImNp
dGUiIGNpdGU9Im1pZDphMzVkOTg4Yi00NTAzLTQ5ZDktYjIzOS1lNGMzODgzNzA2OTNAYmVybGlu
LmRlIj5JJ20gc29ycnksIEkgZGlkbid0IGxvb2sgYXQgdGhlIHNwZWNpZmljIGNvbXBsaWNhdGlv
bnMuIFRoaXMgcGFydGljdWxhciBvbmUgaXMgCndyb25nbHkgYWNjZXB0ZWQgYWxzbyBieSBlY2ou
IElPVyB0aGVyZSBpcyBzb21lIGNvbmZ1c2lvbiBpbmRlZWQgcmVnYXJkaW5nIGhvdyAKZmFyIHRo
ZSAic3RhdGljbmVzcyIgcHJvcGFnYXRlcyBpbnRvIG5lc3RlZCBzdHJ1Y3R1cmVzLgo8L2Jsb2Nr
cXVvdGU+PHA+T2suIEkgdHJpZWQgdGhpcyBleGFtcGxlOjwvcD48cD5gYGA8YnI+JCBjYXQgRm9v
LmphdmEgPGJyPmNsYXNzIFRlc3Qgezxicj4mbmJzcDsmbmJzcDsmbmJzcDsgaW50ZXJmYWNlIEJh
ciB7IH08YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0YXRpYyBjbGFzcyBGb28gezxicj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgRm9v
KEJhciBiYXIpIHsgfTxicj4mbmJzcDsmbmJzcDsmbmJzcDsgfTxicj48YnI+Jm5ic3A7Jm5ic3A7
Jm5ic3A7IGludCB4Ozxicj4mbmJzcDsmbmJzcDsmbmJzcDsgY2xhc3MgSW5uZXIgZXh0ZW5kcyBG
b28gezxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgSW5uZXIo
KSB7PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyBzdXBlcihuZXcgQmFyKCkgezxicj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsgeyBUZXN0LnRoaXMueCsrOyB9Jm5ic3A7Jm5ic3A7IC8vIGFsbG93ZWQ/
Pz88YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IH0pOzxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgfTxicj4mbmJzcDsmbmJzcDsmbmJzcDsgfTxicj59PGJyPmBgYDwvcD48cD5gYGA8
YnI+amF2YSAtamFyIG9yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLmJhdGNoXzMuMzguMC52
MjAyNDA1MjQtMjAzMy5qYXIgRm9vLmphdmEgPGJyPi0tLS0tLS0tLS08YnI+MS4gRVJST1IgaW4g
L3cvbHQvamRrL2Rldi9Gb28uamF2YSAoYXQgbGluZSAxMSk8YnI+Jm5ic3A7Jm5ic3A7ICZuYnNw
O3sgVGVzdC50aGlzLngrKzsgfSZuYnNwOyZuYnNwOyAvLyBhbGxvd2VkPz8/PGJyPiZuYnNwOyZu
YnNwOyAmbmJzcDsmbmJzcDsgXl5eXl5eXl5ePGJyPk5vIGVuY2xvc2luZyBpbnN0YW5jZSBvZiB0
aGUgdHlwZSBUZXN0IGlzIGFjY2Vzc2libGUgaW4gc2NvcGU8YnI+LS0tLS0tLS0tLTxicj4xIHBy
b2JsZW0gKDEgZXJyb3IpPGJyPmBgYDwvcD48cD5UaGlzIHNlZW1zIHRvIHN1Z2dlc3QgdGhhdCB0
aGUgIm91dHNpZGUgSkxTIiBiZWhhdmlvciBpcyBub3Qgc3VwcG9ydGVkIGJ5IGVjaj88L3A+PHA+
TWF1cml6aW88YnI+PC9wPjxwPjxicj48L3A+" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0;">​</div>
</div>
</body>
</html>