On Mon, 28 Mar 2022 20:39:26 GMT, Sergey Bylokhov <s...@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 wonder do we have some javac checks which may show some warnings related to > these updated classes like not all subclasses are covered by the > switch/unnecessary default branch/etc? @mrserb, you mean to detect that you can not add a new subclass without breaking the source backward compatibility. You can add a test that switch over all the cases with no "default", if a new subclass is added, the test will not compile anymore. ------------- PR: https://git.openjdk.java.net/jdk/pull/7998