On Wed, 10 Sep 2025 09:58:20 GMT, Francesco Andreuzzi <[email protected]> wrote:

>> Please review a change to fix a regression when documenting inherited JavaFX 
>> property members after 
>> [JDK-8350920](https://bugs.openjdk.org/browse/JDK-8350920). The wrong 
>> `PropertyHelper` instance was used to initialize synthetic doc comments on 
>> property members, leading to potentially missing comments.
>> 
>> Since using the correct `PropertyHelper` instance would have led to property 
>> info being computed multiple times (previously it was only needed in 
>> `ClassWriter`), I added caching of `PropertyHelper` instances in the 
>> enclosing `PropertyUtils` instance. In the process I also removed some 
>> unnecessary fields from `PropertyHelper`, made the property member map 
>> lazily initialized, and cleaned up code and doc comments in `PropertyUtils` 
>> a bit.
>> 
>> The test adds a new subclass to a property-holding class in `TestJavaFX` to 
>> make sure inherited property members are documented correctly and no 
>> warnings are issued for missing synthetic doc comments.
>
> src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/PropertyUtils.java
>  line 215:
> 
>> 213:      */
>> 214:     public static class PropertyHelper {
>> 215:         private Map<Element, Element> classPropertiesMap = null;
> 
> What's the added value of having this lazily initialized?

Most code bases don't use JavaFX properties at all, and since we're adding 
caching for these objects the idea is to not waste memory (even though it 
doesn't matter much).

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27168#discussion_r2336814281

Reply via email to