> None of these classes can be extended by user code, and any attempt to do so > will fail at runtime with an exception. For this reason, we can seal the > class hierarchy and remove the run-time checks to turn this into a > compile-time error instead. > > In some cases, `Node` and `Shape` are extended by JavaFX classes in other > modules, preventing those derived classes from being permitted subclasses. A > non-exported `AbstractNode` and `AbstractShape` class is provided just for > these scenarios. Note that introducing a new superclass is a source- and > binary-compatible change (see [JLS ch. > 13](https://docs.oracle.com/javase/specs/jls/se22/html/jls-13.html)). > > I'm not sure if this change requires a CSR, as it doesn't change the > specification in any meaningful way. There can be no valid JavaFX program > that is affected by this change.
Michael Strauß has updated the pull request incrementally with one additional commit since the last revision: add comment ------------- Changes: - all: https://git.openjdk.org/jfx/pull/1556/files - new: https://git.openjdk.org/jfx/pull/1556/files/ba6c5422..8332d7e9 Webrevs: - full: https://webrevs.openjdk.org/?repo=jfx&pr=1556&range=03 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1556&range=02-03 Stats: 6 lines in 2 files changed: 4 ins; 0 del; 2 mod Patch: https://git.openjdk.org/jfx/pull/1556.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/1556/head:pull/1556 PR: https://git.openjdk.org/jfx/pull/1556