diff -r ebb1ff3d6707 -r 4c8a6d1d066c make/jdk/src/classes/build/tools/taglet/Preview.java --- a/make/jdk/src/classes/build/tools/taglet/Preview.java Wed Sep 25 21:19:21 2019 +0200 +++ b/make/jdk/src/classes/build/tools/taglet/Preview.java Wed Oct 02 10:59:40 2019 +0200 @@ -25,12 +25,14 @@ package build.tools.taglet; +import java.util.Arrays; import java.util.EnumSet; import java.util.List; import java.util.Set; import javax.lang.model.element.Element; import com.sun.source.doctree.DocTree; -import com.sun.source.doctree.UnknownBlockTagTree; +import com.sun.source.doctree.TextTree; +import com.sun.source.doctree.UnknownInlineTagTree; import jdk.javadoc.doclet.Taglet; import static jdk.javadoc.doclet.Taglet.Location.*; @@ -47,7 +49,7 @@ @Override public boolean isInlineTag() { - return false; + return true; } @Override @@ -57,14 +59,16 @@ @Override public String toString(List tags, Element elem) { - StringBuilder sb = new StringBuilder(); - sb.append("
Preview Feature:\n"); - for (DocTree tag : tags) { - UnknownBlockTagTree ubt = (UnknownBlockTagTree) tag; - sb.append("
Preview: ") - .append(ubt.getContent()); + UnknownInlineTagTree previewTag = (UnknownInlineTagTree) tags.get(0); + List previewContent = previewTag.getContent(); + String previewText = ((TextTree) previewContent.get(0)).getBody(); + String[] summaryAndDetails = previewText.split("\n\r?\n\r?"); + String summary = summaryAndDetails[0]; + String details = summaryAndDetails.length > 1 ? summaryAndDetails[1] : summaryAndDetails[0]; + if (Arrays.stream(new Exception().getStackTrace()).anyMatch(el -> el.getClassName().endsWith("HtmlDocletWriter") && el.getMethodName().equals("addSummaryComment"))) { + return "
" + summary + "

"; } - return sb.toString(); + return "
" + details + "

"; } }