On Thu, 25 Aug 2022 13:36:01 GMT, Marius Hanl <mh...@openjdk.org> wrote:

>> modules/javafx.graphics/src/main/java/javafx/scene/Node.java line 1919:
>> 
>>> 1917:                             }
>>> 1918:                         }
>>> 1919:                     }
>> 
>> Because we can use Java 17 now, you can use pattern matching for 
>> `instanceof`. Also, from what I see, `getChildren()` can never return 
>> `null`. So, we can write
>> 
>> if (Node.this instanceof Parent parent) {
>>     parent.getChildren().forEach(child -> child.updateDisabled());
>> }
>
> Since `getChildren()` is not final, one can easily override it and return 
> null. 
> Therefore, this check should still be done here. 
> Maybe we even need to check that every child is not null, since again I can 
> override `getChildren()` and return a list that allows null. (The default 
> implementation in `Parent` throws an exception when adding a null child)
> 
> Interestingly, the javadoc of `getChildren()` states that one should call the 
> super method when overriding (although this can't be enforced). So this is 
> probably a hypothetical case.

It's definitely a hypothetical case. `getChildren()` is called all over the 
place in JavaFX without a null check, so I see no reason for null checks here.

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

PR: https://git.openjdk.org/jfx/pull/841

Reply via email to