On Thu, 30 May 2024 18:43:28 GMT, Pavel Rappo <pra...@openjdk.org> wrote:

>> Please review a patch to fix a NPE thrown when a `@since` tag inherited by a 
>> nested class contains a nested inline tag. The solution is to make 
>> `CommentHelper.getDocTreePath(DocTree)` able to handle block tags inherited 
>> by nested classes.
>
> I understand the solution and see how it logically parallels the existing 
> link between `getDocTreePath` and inheritable taglets. That said, I dislike 
> the solution, but also cannot propose a better one at this time. The logic is 
> repeated and spread out.

> @pavelrappo raises an interesting point. nested classes do not "inherit" from 
> their enclosing class, and so putting the fix in a method dealing with 
> inheritance seems wrong.
> 
> Either the fix should be moved or the method renamed.

To clarify, I'm not too concerned with how we call an action whereby a nested 
class gets its `@since` tag from the enclosing class; but yes, "inheritance" 
might not be ideal. What I'm concerned with is the fact that the logic 
originally provided in [`getDefaultBlockTags`][getDefaultBlockTags] is now 
duplicated in `getInheritedDocTreePath`.

Like I said, while it's bad, the new duplication merely replicates the one we 
already have between `InheritableTaglet.inherit` and `getInheritedDocTreePath`.

[getDefaultBlockTags]: 
https://github.com/openjdk/jdk/blob/6ee8407758c92d32e18642b0758d2d5c71ad09f5/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/taglets/SimpleTaglet.java#L141-L147

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

PR Comment: https://git.openjdk.org/jdk/pull/19363#issuecomment-2141579378

Reply via email to