RFR: JDK-8309566: Migrate away from TagletWriter and TagletWriterImpl [v3]
Jonathan Gibbons
jjg at openjdk.org
Wed Jul 12 20:18:14 UTC 2023
On Wed, 12 Jul 2023 16:40:53 GMT, Jonathan Gibbons <jjg at openjdk.org> wrote:
>> src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java line 2120:
>>
>>> 2118:
>>> 2119: public List<? extends DocTree> getBlockTags(Element element, String tagName) {
>>> 2120: return getBlockTags(element,
>>
>> For this or a later PR:
>>
>> 1. Even prior to this PR that `instanceof` seemed redundant. If we don't want to change the `getBlockTags(Element, Predicate)` return type to BlockTagTree, I suggest to downcast unconditionally:
>>
>> t -> ((BlockTagTree) t).getTagName().equals(tagName));
>>
>> 2. After this PR, the only client of the BaseTaglet.accepts method would be SimpleTaglet, which we should move that method to.
>
> Good observation.
I looked at this. Ideally, all the `Utils.getBlockTags` methods should return `List<? extends BlockTagTree>` but such a change leaks into the public API at `DocCommentTree.getBlockTags`. This *may* be a hangover related to handling `ErroneousTree`, _but I didn't dig deep enough to find out_. Yes, `DocCommentParser` may include `ErroneousTree` here. That's not to say that `Utils` should not filter out those nodes, but this is getting too far afield for this PR.
Filed: [JDK-8311974](https://bugs.openjdk.org/browse/JDK-8311974) Clean up Utils.getBlockTags
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14793#discussion_r1261679908
More information about the javadoc-dev
mailing list