RFR: JDK-8267219: Javadoc method summary breaks when {@inheritDoc} from an empty parent [v3]
Pavel Rappo
prappo at openjdk.java.net
Wed May 19 12:11:41 UTC 2021
On Wed, 19 May 2021 11:27:39 GMT, Hannes Wallnöfer <hannesw at openjdk.org> wrote:
>> I looked at the usages of `isValid`; all of them are guarding the calls to `HtmlTree.add`, in `SerialFieldWriter`, `TagletWriter`, and `HtmlTree.add` itself. Hence, if a content builder has both valid and invalid parts, I still believe it should be added to the html tree, where only the valid subparts can be accepted. I shall document the reasons in an `implSpec` section.
>
> I was initially unsure about this, too. But take a look at `HtmlTree.add(Content)` which handles `ContentBuilder` arguments in the following way:
>
> if (content instanceof ContentBuilder) {
> ((ContentBuilder) content).contents.forEach(this::add);
> }
>
> Thus, if a ContentBuilder contains any valid Content objects, they will be added, while the invalid ones will be silently dropped.
Something is wrong, but I cannot quite put my finger on it. I think this PR merely highlights a pre-existing issue that should be investigated separately.
I'm surprised by the concept of validity for the **generated** content. I'm also surprised by the fact that a part of the content can be silently omitted depending on whether or not that part is valid. This suggests that javadoc uses instances of HtmlTree as its data model which it shouldn't do.
-------------
PR: https://git.openjdk.java.net/jdk/pull/4066
More information about the javadoc-dev
mailing list