RFR: 8283700: Add final or sealed modifier to appropriate java.awt API classes
Joe Darcy
darcy at openjdk.java.net
Tue Mar 29 01:40:53 UTC 2022
On Mon, 28 Mar 2022 16:30:50 GMT, Phil Race <prr at openjdk.org> wrote:
> JDK 17 delivered JEP 409: Sealed Classes : https://openjdk.java.net/jeps/409
> In essence this JEP allows a class to limit which classes can subclass it.
> If a class has no subclasses and cannot be subclassed outside the JDK it can also be made final.
> Suitable classes across the JDK are being retro-fitted to be sealed (or made final) where it can be done compatibly.
> This fix takes care of several AWT classes which were identified.
> If later we need to remove sealed or make a class non-final that will also be a compatible change,
> so we aren't locking ourselves into this.
>
> All our automated regression tests - plus JCK tests have been run.
>
> This will require a CSR
> I _think_ Sergey is asking how javac identifies classes that are sub-classing the sealed class but not listed in the permits clause ?
If a sealed class does not have a permits clause, the allowed subclasses must be in the same file as the class in question, e.g. nested classes that were also subclasses or auxiliary classes. This is described in the JEP.
-------------
PR: https://git.openjdk.java.net/jdk/pull/7998
More information about the client-libs-dev
mailing list