nidi3 / graphviz-java

Use graphviz with pure java
Apache License 2.0
934 stars 106 forks source link

Using taglet in overview.html crashes javadoc #204

Open ljnelson opened 3 years ago

ljnelson commented 3 years ago

If I place this:

<p>{@graphviz
     digraph foo {
     a -> b -> c;
     }
     }</p>

…in my overview.html, javadoc crashes:

[ERROR] javadoc: error - An internal exception has occurred. 
[ERROR]     (java.lang.UnsupportedOperationException: Unsupported method)
[ERROR] Please file a bug against the javadoc tool via the Java bug reporting page
[ERROR] (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com)
[ERROR] for duplicates. Include error messages and the following diagnostic in your report. Thank you.
[ERROR] java.lang.UnsupportedOperationException: Unsupported method
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.DocletElement.getEnclosingElement(DocletElement.java:65)
[ERROR]     at guru.nidi.graphviz.GraphvizTaglet.packageOf(GraphvizTaglet.java:112)
[ERROR]     at guru.nidi.graphviz.GraphvizTaglet.toString(GraphvizTaglet.java:83)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.UserTaglet.getInlineTagOutput(UserTaglet.java:115)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.TagletWriter.getInlineTagOutput(TagletWriter.java:329)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.getInlineTagOutput(HtmlDocletWriter.java:385)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter$2.defaultAction(HtmlDocletWriter.java:1640)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter$2.defaultAction(HtmlDocletWriter.java:1425)
[ERROR]     at jdk.compiler/com.sun.source.util.SimpleDocTreeVisitor.visitUnknownInlineTag(SimpleDocTreeVisitor.java:486)
[ERROR]     at jdk.compiler/com.sun.tools.javac.tree.DCTree$DCUnknownInlineTag.accept(DCTree.java:1029)
[ERROR]     at jdk.compiler/com.sun.source.util.SimpleDocTreeVisitor.visit(SimpleDocTreeVisitor.java:79)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.commentTagsToContent(HtmlDocletWriter.java:1647)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.commentTagsToContent(HtmlDocletWriter.java:1368)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.addCommentTags(HtmlDocletWriter.java:1284)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.addCommentTags(HtmlDocletWriter.java:1264)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.addInlineComment(HtmlDocletWriter.java:1249)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.AbstractOverviewIndexWriter.addOverviewComment(AbstractOverviewIndexWriter.java:83)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.AbstractOverviewIndexWriter.addOverviewHeader(AbstractOverviewIndexWriter.java:70)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.AbstractOverviewIndexWriter.buildOverviewIndexFile(AbstractOverviewIndexWriter.java:99)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.PackageIndexWriter.generate(PackageIndexWriter.java:78)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDoclet.generateOtherFiles(HtmlDoclet.java:240)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:218)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.AbstractDoclet.run(AbstractDoclet.java:115)
[ERROR]     at jdk.javadoc/jdk.javadoc.doclet.StandardDoclet.run(StandardDoclet.java:103)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.tool.Start.parseAndExecute(Start.java:555)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:399)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:348)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.tool.Main.execute(Main.java:63)
[ERROR]     at jdk.javadoc/jdk.javadoc.internal.tool.Main.main(Main.java:52)

If I place the same HTML in, say, a class description, everything works fine.

Is this in fact a javadoc bug or is this a place where perhaps the taglet was not expecting to be used in an overview.html?