--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java @@ -1015,6 +1015,9 @@ public class HtmlDocletWriter { // @see reference label... label = ref.subList(1, ref.size()); } + case ERRONEOUS -> { + return HtmlTree.SPAN(Text.of(resources.getText("doclet.tag.invalid_input", seeText))); + } default -> throw new IllegalStateException(ref.get(0).getKind().toString()); } --- a/test/langtools/jdk/javadoc/doclet/testSeeTag/TestSeeTag.java +++ b/test/langtools/jdk/javadoc/doclet/testSeeTag/TestSeeTag.java @@ -23,15 +23,19 @@ /* * @test - * @bug 8017191 8182765 8200432 8239804 8250766 8262992 + * @bug 8017191 8182765 8200432 8239804 8250766 8262992 8281944 * @summary Javadoc is confused by at-link to imported classes outside of the set of generated packages - * @library ../../lib + * @library /tools/lib ../../lib * @modules jdk.javadoc/jdk.javadoc.internal.tool - * @build javadoc.tester.* + * @build toolbox.ToolBox javadoc.tester.* * @run main TestSeeTag */ import javadoc.tester.JavadocTester; +import toolbox.ToolBox; + +import java.io.IOException; +import java.nio.file.Path; public class TestSeeTag extends JavadocTester { @@ -105,4 +109,40 @@ public class TestSeeTag extends JavadocTester { """); } + + ToolBox tb = new ToolBox(); + + @Test + public void testErroneous() throws IOException { + Path src = Path.of("erroneous", "src"); + tb.writeJavaFiles(src, """ + package erroneous; + /** + * Comment. + * @see +
See Also:
+
+ +
+ + """); + + } }