On Tue, 16 Jan 2024 02:17:10 GMT, Vladimir Petko <[email protected]> wrote:
> '--ignore-source-errors' allows generating Javadoc for the packages that
> contain compilation errors.
>
> jdk.javadoc.internal.doclets.toolkit.util.ClassTree generates a type
> hierarchy for javadoc that may include error types such as
>
> class Foo extends Bar {
> }
> ```
> where Bar is undefined.
>
> The user still wants to generate documentation for Foo and have Bar as a text
> label.
>
> For the unknown class Bar it is impossible to detect the enclosing class/file
> and javadoc crashes with exception.
>
> This PR returns Kind.OTHER for the error types, avoiding the javadoc crash.
test/langtools/jdk/javadoc/doclet/testClassTree/TestClassTree.java line 66:
> 64: <li class="circle">badpkg.<a href="ChildClass.html"
> class="type-name-link" \
> 65: title="class in badpkg">ChildClass</a> (implements
> java.lang.Iterable<T>)</li>
> 66: """);
arguments, like this text block, should be indented.
In general, if you're using an IDE that can reformat fragments of code, like a
method call, it should be enough/OK to use the IDE reformat calls like this.
test/langtools/jdk/javadoc/doclet/testClassTree/badpkg/ChildClass.java line 1:
> 1: /*
These days, the preferred style is to write small files on the fly during the
test. That way, the test class is better co-located with the the code that
uses it, and as a secondary benefit, you do not need to include a full legal
header that tends to overwhelm the few lines of interest.
Look in other tests for the use of `tb.writeJavaFiles` which make it easy to
write a text block containing code to a test-specific directory.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17435#discussion_r1453879301
PR Review Comment: https://git.openjdk.org/jdk/pull/17435#discussion_r1453882997