On Mon, 17 Nov 2025 18:29:43 GMT, Chen Liang <[email protected]> wrote:

>> There is a bug in the algo to determine what is kosher and what is not in 
>> early construction contexts. The algo was not analyzing any static symbol. 
>> But according to the `JLS 25 15.11.2 Accessing Superclass Members using 
>> super`:
>> 
>> 
>> It is a compile-time error if a field access expression using the keyword 
>> super
>> occurs in a static context (§8.1.3) or in an early construction context 
>> (§8.8.7) of
>> the current class.
>> 
>> the previous code was checking this only for instance field accesses. The 
>> current fix corrects this bug
>> 
>> TIA
>
> test/langtools/tools/javac/SuperInit/SuperInitFails.java line 282:
> 
>> 280:         class Inner9Test extends Medium {
>> 281:             Inner9Test() {
>> 282:                 boolean check1 = Inner9Test.super.check;
> 
> Should the test also use `Parent.super.check` and `Medium.super.check`?

in those cases javac already fails with:

`error: not an enclosing class: ClassName`

-------------

PR Review Comment: 
https://git.openjdk.org/valhalla/pull/1740#discussion_r2535238928

Reply via email to