[lworld] Integrated: 8373916: [lworld] TypeName.this.FieldName should be restricted in early construction context

Vicente Romero vromero at openjdk.org
Wed Feb 4 15:56:49 UTC 2026


On Tue, 13 Jan 2026 20:28:02 GMT, Vicente Romero <vromero at openjdk.org> wrote:

> According to spec bugs: JDK-8373719 and JDK-8373721:
> 
> In JLS 6.5.6.1, references to fields are subject to a handful of restrictions if they refer to instance fields. In 15.8 and 15.11, 'this.x' and 'super.x' are intended to be viewed as instance field references, and subject to the same restrictions.
> 
> So the following code should fail to compile:
> 
> class Test {
>     static final boolean check = true;
>     Test(int a) {
>         boolean b = Test.this.check; //compilation error expected here
>         this();
>     }
> }
> 
> However, javac is currently accepting it

This pull request has now been integrated.

Changeset: 7aa4941a
Author:    Vicente Romero <vromero at openjdk.org>
URL:       https://git.openjdk.org/valhalla/commit/7aa4941a62f7af036b9ea562b928490f0271d64c
Stats:     47 lines in 6 files changed: 44 ins; 0 del; 3 mod

8373916: [lworld] TypeName.this.FieldName should be restricted in early construction context

Reviewed-by: liach, mcimadamore

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

PR: https://git.openjdk.org/valhalla/pull/1899


More information about the valhalla-dev mailing list