[lworld] RFR: 8371356: [lworld] 'super' should be rejected in early construction context

Chen Liang liach at openjdk.org
Mon Nov 17 18:32:30 UTC 2025


On Mon, 17 Nov 2025 13:51:54 GMT, Vicente Romero <vromero at openjdk.org> 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`?

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

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


More information about the valhalla-dev mailing list