RFR: 8339603: Seal the class hierarchy of Node, Camera, LightBase, Shape, Shape3D [v3]

Michael Strauß mstrauss at openjdk.org
Tue Oct 8 04:28:06 UTC 2024


On Mon, 7 Oct 2024 21:26:31 GMT, Andy Goryachev <angorya at openjdk.org> wrote:

>> Michael Strauß has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:
>> 
>>  - Merge branch 'master' into feature/sealed-classes
>>  - remove documentation
>>  - Seal Node, Camera, LightBase, Shape, Shape3D
>
> modules/javafx.graphics/src/main/java/com/sun/javafx/scene/CameraHelper.java line 60:
> 
>> 58:     @Override
>> 59:     protected NGNode createPeerImpl(Node node) {
>> 60:         throw new AssertionError();
> 
> is this the right error type?
> why change UnsupportedOperationException?

When `Camera` is sealed, this method cannot be called by user code. `UnsupportedOperationException` would be okay if it could reasonably be called, but this is now an invariant that would signal a bug in JavaFX.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1556#discussion_r1791158414


More information about the openjfx-dev mailing list