RFR: JDK-8267394: Do not rely on object identity for empty valid Content instance

Hannes Wallnoefer hannes.wallnoefer at oracle.com
Thu Jun 3 05:37:42 UTC 2021


There are 24 failing tests if the `isValid()` check is omitted in HtmlTree.add(Content). I started going after „invalid“ HtmlTree instances using stack traces to locate their origin, but gave up after 3 or 4 due to the reasons given earlier: there’s quite a few of them, and even if we find them all there’s no way to prevent them from popping up in the future.

My conclusion would be to close this PR/issue as „won’t fix“ and start working on finding a better solution. IMO that solution would still be implemented in Content/HtmlTree, but should have a name that better reflects its purpose, and would possibly be implemented using different means at a different level.

Hannes

> Am 02.06.2021 um 16:32 schrieb Jonathan Gibbons <jonathan.gibbons at oracle.com>:
> 
> 
> On 6/2/21 7:13 AM, Hannes Wallnöfer wrote:
>> 
>> I agree that our current `isValid` implementation does not feel right.
>> 
>> But there are many (dozens?) of places in the code that potentially generate empty elements. If we want to avoid these, shifting the responsability to the content producer will blow up the code a lot. I'm trying out different things to see if I can come up with a better solution.
> 
> Do we have any sense of how often the "isValid" check prevents an empty node to be added to the tree?
> 
> 
> 
>> 
>> -------------
>> 
>> PR: https://git.openjdk.java.net/jdk/pull/4130



More information about the javadoc-dev mailing list