[jdk19] RFR: 8287379: Using @inheritDoc in an inapplicable context shouldn't crash javadoc [v5]
Jonathan Gibbons
jjg at openjdk.org
Mon Jul 11 15:40:49 UTC 2022
On Thu, 7 Jul 2022 20:01:37 GMT, Pavel Rappo <prappo at openjdk.org> wrote:
>> This rights the wrongs of JDK-8008768. For more information, see the respective CSR.
>
> Pavel Rappo has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 13 commits:
>
> - [feedback] revert some tests
>
> This addresses Jon's fair concerns on me aggressively removing some
> test cases, that could still work.
> - Merge remote-tracking branch 'jdk19/master' into 8287379
> - Merge remote-tracking branch 'jdk19/master' into 8287379
> - feedback: make method positive
> - Merge remote-tracking branch 'jdk19/master' into 8287379
> - Update DocTest
>
> 1. Removes @inheritDoc from these type of declarations:
> * class and interface
> * constructor
> 2. Removes empty declarations.
> 3. Updates @apiNote, @implSpec and @implNote definitions to match those
> of JDK API.
> 4. Fixes a few typos.
> - Add tests
> - Disallow @inheritDoc in type declarations
>
> This undoes undocumented changes introduced by 8008768.
> - Do not warn on inline misuse
>
> The type of a declaration (module, class or interface, constructor,
> method, etc.) for which a tag is applicable, is orthogonal to the type
> of the tag (inline, block, bimodal).
>
> The code up the stack knows which type of tags it has collected. If
> those tags are of type other than expected, it's a programming error.
> - Doclint shouldn't warn on inapplicable conditions
>
> overview.html and doc-files/**/*.html files cannot have
> a main description or be an empty comment. At the very least,
> the check for being "an empty comment" for such files cannot be
> performed by checking if the files contain any block tags. Block tags
> are applicable to a program element, which those files are not.
> - ... and 3 more: https://git.openjdk.org/jdk19/compare/3212dc9c...7d540c4e
Marked as reviewed by jjg (Reviewer).
test/langtools/jdk/javadoc/doclet/InheritDocForUserTags/DocTest.java line 57:
> 55: // javadoc does not report an exit code for an internal exception (!)
> 56: // so monitor stderr for stack dumps.
> 57: checkOutput(Output.STDERR, false, "at com.sun");
This is a general comment for a followup discussion and future work.
Should we have a standard default-on check in `JavadocTester` for "no stack traces"? That is, the equivalent of this line here. We could model such a check on `checkLinks` or `checkAccessibility` such that a hypothetical `checkNoCrashes` could be disabled in the (rare?) cases that they might be expected. (For example, checking the tool/doclet behavior when a crash does occur.)
-------------
PR: https://git.openjdk.org/jdk19/pull/54
More information about the javadoc-dev
mailing list