RFR: 8278078: cannot reference super before supertype constructor has been called
Adam Sotona
asotona at openjdk.java.net
Wed Dec 1 16:42:42 UTC 2021
Pull request #4376 (with fix of 8261006: 'super' qualified method references cannot occur in a static context) regressed compilation of all inner classes using <enclosing class>.super pattern in their constructor argument to fail with:
error: cannot reference super before supertype constructor has been called
For example following source fragment cannot be compiled since that:
class EnclClass {
class InnerClass extends Exception {
InnerClass() {
super(EnclClass.super.toString());
}
}
}
This patch keeps throwing "cannot reference super" error for calls of <interface>.super and permits calls of <enclosing class>.super
Plus it adds a new test.
Thanks,
Adam
-------------
Commit messages:
- 8278078: cannot reference super before supertype constructor has been called
Changes: https://git.openjdk.java.net/jdk/pull/6642/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=6642&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8278078
Stats: 14 lines in 2 files changed: 13 ins; 0 del; 1 mod
Patch: https://git.openjdk.java.net/jdk/pull/6642.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/6642/head:pull/6642
PR: https://git.openjdk.java.net/jdk/pull/6642
More information about the compiler-dev
mailing list