RFR: 8288660: JavaDoc should be more helpful if it doesn't recognize a tag
Pavel Rappo
prappo at openjdk.org
Fri Sep 1 09:25:38 UTC 2023
On Thu, 31 Aug 2023 22:55:08 GMT, Jonathan Gibbons <jjg at openjdk.org> wrote:
>> This PR makes JavaDoc and DocLint produce more helpful diagnostic output when encounter an unknown tag.
>>
>> Before:
>>
>>
>> MyClass.java:4: warning: no main description
>> * @implSpite {@linkpain Object#hashCode}}
>> ^
>> MyClass.java:4: error: unknown tag: implSpite
>> * @implSpite {@linkpain Object#hashCode}}
>> ^
>> MyClass.java:4: error: unknown tag: linkpain
>> * @implSpite {@linkpain Object#hashCode}}
>> ^
>> MyClass.java:5: error: unknown tag: danger
>> * @danger
>> ^
>>
>>
>> After:
>>
>>
>> * @implSpite {@linkpain Object#hashCode}}
>> ^
>> MyClass.java:4: error: unknown tag: implSpite; the most similar tags are: implSpec, implNote
>> * @implSpite {@linkpain Object#hashCode}}
>> ^
>> Note: An unknown tag has been reported. Mistyped? Forgot to add a custom tag or register a taglet?
>> MyClass.java:4: error: unknown tag: linkpain; the most similar tags are: linkplain
>> * @implSpite {@linkpain Object#hashCode}}
>> ^
>> MyClass.java:5: error: unknown tag: danger
>> * @danger
>> ^
>>
>>
>> As you can see, the output has changed in two ways. Firstly, the tags that are similar to the unknown tag might be suggested. Secondly, an auxiliary note to help troubleshoot the unknown tag is provided. That note is provided once, close to the first reported unknown tag. This is done to not clutter the output in case multiple tags are reported.
>>
>> For details, see the actual change.
>
> src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/DocLint.java line 380:
>
>> 378:
>> 379: public static List<String> suggestSimilar(Collection<String> knownTags, String unknownTag) {
>> 380: final double MIN_SIMILARITY = 2.0 / 3;
>
> Is there significance in `2.0 / 3` as compared to `0.667` etc
No. I can change it if you want me to.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15494#discussion_r1312795253
More information about the compiler-dev
mailing list