Skip to content

Commit 4fb8c77

Browse files
8253733: Cleanup internal taglet API
Reviewed-by: prappo
1 parent e5ba020 commit 4fb8c77

28 files changed

+316
-314
lines changed

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ private void addModifier(Element member, Content code) {
274274
* @param contentTree the content tree to which the deprecated information will be added.
275275
*/
276276
protected void addDeprecatedInfo(Element member, Content contentTree) {
277-
Content output = (new DeprecatedTaglet()).getTagletOutput(member,
277+
Content output = (new DeprecatedTaglet()).getAllBlockTagOutput(member,
278278
writer.getTagletWriterInstance(false));
279279
if (!output.isEmpty()) {
280280
Content deprecatedContent = output;

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ public void addClassTree(Content classContentTree) {
376376
@Override
377377
public void addParamInfo(Content classInfoTree) {
378378
if (utils.hasBlockTag(typeElement, DocTree.Kind.PARAM)) {
379-
Content paramInfo = (new ParamTaglet()).getTagletOutput(typeElement,
379+
Content paramInfo = (new ParamTaglet()).getAllBlockTagOutput(typeElement,
380380
getTagletWriterInstance(false));
381381
if (!paramInfo.isEmpty()) {
382382
classInfoTree.add(HtmlTree.DL(HtmlStyle.notes, paramInfo));

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstantsSummaryWriterImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ private Content getNameColumn(VariableElement member) {
258258
* @return the value column of the constant table row
259259
*/
260260
private Content getValue(VariableElement member) {
261-
String value = utils.constantValueExpresion(member);
261+
String value = utils.constantValueExpression(member);
262262
Content valueContent = new StringContent(value);
263263
return HtmlTree.CODE(valueContent);
264264
}

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java

Lines changed: 46 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@
9494
import jdk.javadoc.internal.doclets.toolkit.PackageSummaryWriter;
9595
import jdk.javadoc.internal.doclets.toolkit.Resources;
9696
import jdk.javadoc.internal.doclets.toolkit.taglets.DocRootTaglet;
97+
import jdk.javadoc.internal.doclets.toolkit.taglets.Taglet;
9798
import jdk.javadoc.internal.doclets.toolkit.taglets.TagletWriter;
9899
import jdk.javadoc.internal.doclets.toolkit.util.Comparators;
99100
import jdk.javadoc.internal.doclets.toolkit.util.CommentHelper;
@@ -332,29 +333,54 @@ protected void addTagsInfo(Element e, Content htmlTree) {
332333
if (utils.isExecutableElement(e) && !utils.isConstructor(e)) {
333334
addMethodInfo((ExecutableElement)e, dl);
334335
}
335-
Content output = new ContentBuilder();
336-
TagletWriter.genTagOutput(configuration.tagletManager, e,
337-
configuration.tagletManager.getBlockTaglets(e),
338-
getTagletWriterInstance(false), output);
336+
Content output = getBlockTagOutput(e);
339337
dl.add(output);
340338
htmlTree.add(dl);
341339
}
342340

343341
/**
344-
* Check whether there are any tags for Serialization Overview
345-
* section to be printed.
342+
* Returns the content generated from the default supported set of block tags
343+
* for this element.
346344
*
347-
* @param field the VariableElement object to check for tags.
348-
* @return true if there are tags to be printed else return false.
345+
* @param element the element
346+
*
347+
* @return the content
348+
*/
349+
protected Content getBlockTagOutput(Element element) {
350+
return getBlockTagOutput(element, configuration.tagletManager.getBlockTaglets(element));
351+
}
352+
353+
/**
354+
* Returns the content generated from a specified set of block tags
355+
* for this element.
356+
*
357+
* @param element the element
358+
* @param taglets the taglets to handle the required set of tags
359+
*
360+
* @return the content
361+
*/
362+
protected Content getBlockTagOutput(Element element, List<Taglet> taglets) {
363+
return getTagletWriterInstance(false)
364+
.getBlockTagOutput(configuration.tagletManager, element, taglets);
365+
}
366+
367+
/**
368+
* Returns whether there are any tags in a field for the Serialization Overview
369+
* section to be generated.
370+
*
371+
* @param field the field to check
372+
* @return {@code true} if and only if there are tags to be included
349373
*/
350374
protected boolean hasSerializationOverviewTags(VariableElement field) {
351-
Content output = new ContentBuilder();
352-
TagletWriter.genTagOutput(configuration.tagletManager, field,
353-
configuration.tagletManager.getBlockTaglets(field),
354-
getTagletWriterInstance(false), output);
375+
Content output = getBlockTagOutput(field);
355376
return !output.isEmpty();
356377
}
357378

379+
private Content getInlineTagOutput(Element element, DocTree holder, DocTree tree, boolean isFirstSentence, boolean inSummary) {
380+
return getTagletWriterInstance(isFirstSentence, inSummary)
381+
.getInlineTagOutput(element, configuration.tagletManager, holder, tree);
382+
}
383+
358384
/**
359385
* Returns a TagletWriter that knows how to write HTML.
360386
*
@@ -1440,11 +1466,8 @@ private Content copyDocRootContent(Content content) {
14401466

14411467
@Override
14421468
public Boolean visitDocRoot(DocRootTree node, Content c) {
1443-
Content docRootContent = TagletWriter.getInlineTagOutput(element,
1444-
configuration.tagletManager,
1445-
holderTag,
1446-
node,
1447-
getTagletWriterInstance(isFirstSentence));
1469+
Content docRootContent = getInlineTagOutput(element, holderTag, node,
1470+
isFirstSentence, false);
14481471
if (c != null) {
14491472
c.add(docRootContent);
14501473
} else {
@@ -1476,19 +1499,16 @@ public Boolean visitErroneous(ErroneousTree node, Content c) {
14761499

14771500
@Override
14781501
public Boolean visitInheritDoc(InheritDocTree node, Content c) {
1479-
Content output = TagletWriter.getInlineTagOutput(element,
1480-
configuration.tagletManager, holderTag,
1481-
tag, getTagletWriterInstance(isFirstSentence));
1502+
Content output = getInlineTagOutput(element, holderTag, node,
1503+
isFirstSentence, false);
14821504
result.add(output);
14831505
// if we obtained the first sentence successfully, nothing more to do
14841506
return (isFirstSentence && !output.isEmpty());
14851507
}
14861508

14871509
@Override
14881510
public Boolean visitIndex(IndexTree node, Content p) {
1489-
Content output = TagletWriter.getInlineTagOutput(element,
1490-
configuration.tagletManager, holderTag, tag,
1491-
getTagletWriterInstance(isFirstSentence, inSummary));
1511+
Content output = getInlineTagOutput(element, holderTag, node, isFirstSentence, inSummary);
14921512
if (output != null) {
14931513
result.add(output);
14941514
}
@@ -1535,18 +1555,14 @@ public Boolean visitStartElement(StartElementTree node, Content c) {
15351555

15361556
@Override
15371557
public Boolean visitSummary(SummaryTree node, Content c) {
1538-
Content output = TagletWriter.getInlineTagOutput(element,
1539-
configuration.tagletManager, holderTag, tag,
1540-
getTagletWriterInstance(isFirstSentence));
1558+
Content output = getInlineTagOutput(element, holderTag, node, isFirstSentence, false);
15411559
result.add(output);
15421560
return false;
15431561
}
15441562

15451563
@Override
15461564
public Boolean visitSystemProperty(SystemPropertyTree node, Content p) {
1547-
Content output = TagletWriter.getInlineTagOutput(element,
1548-
configuration.tagletManager, holderTag, tag,
1549-
getTagletWriterInstance(isFirstSentence, inSummary));
1565+
Content output = getInlineTagOutput(element, holderTag, node, isFirstSentence, inSummary);
15501566
if (output != null) {
15511567
result.add(output);
15521568
}
@@ -1579,9 +1595,7 @@ public Boolean visitText(TextTree node, Content c) {
15791595

15801596
@Override
15811597
protected Boolean defaultAction(DocTree node, Content c) {
1582-
Content output = TagletWriter.getInlineTagOutput(element,
1583-
configuration.tagletManager, holderTag, tag,
1584-
getTagletWriterInstance(isFirstSentence));
1598+
Content output = getInlineTagOutput(element, holderTag, node, isFirstSentence, false);
15851599
if (output != null) {
15861600
result.add(output);
15871601
}

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialFieldWriter.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -196,13 +196,12 @@ public void addMemberDescription(VariableElement field, DocTree serialFieldTag,
196196
*/
197197
@Override
198198
public void addMemberTags(VariableElement field, Content contentTree) {
199-
Content tagContent = new ContentBuilder();
200-
TagletWriter.genTagOutput(configuration.tagletManager, field,
201-
configuration.tagletManager.getBlockTaglets(field),
202-
writer.getTagletWriterInstance(false), tagContent);
203-
HtmlTree dl = HtmlTree.DL(HtmlStyle.notes);
204-
dl.add(tagContent);
205-
contentTree.add(dl); // TODO: what if empty?
199+
Content tagContent = writer.getBlockTagOutput(field);
200+
if (!tagContent.isEmpty()) {
201+
HtmlTree dl = HtmlTree.DL(HtmlStyle.notes);
202+
dl.add(tagContent);
203+
contentTree.add(dl);
204+
}
206205
}
207206

208207
/**

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialMethodWriter.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -153,16 +153,12 @@ public void addMemberDescription(ExecutableElement member, Content methodsConten
153153
*/
154154
@Override
155155
public void addMemberTags(ExecutableElement member, Content methodsContentTree) {
156-
Content tagContent = new ContentBuilder();
157-
TagletManager tagletManager =
158-
configuration.tagletManager;
159-
TagletWriter.genTagOutput(tagletManager, member,
160-
tagletManager.getSerializedFormTaglets(),
161-
writer.getTagletWriterInstance(false), tagContent);
156+
TagletManager tagletManager = configuration.tagletManager;
157+
Content tagContent = writer.getBlockTagOutput(member, tagletManager.getSerializedFormTaglets());
162158
HtmlTree dl = HtmlTree.DL(HtmlStyle.notes);
163159
dl.add(tagContent);
164160
methodsContentTree.add(dl);
165-
if (name(member).compareTo("writeExternal") == 0
161+
if (name(member).equals("writeExternal")
166162
&& utils.getSerialDataTrees(member).isEmpty()) {
167163
serialWarning(member, "doclet.MissingSerialDataTag",
168164
utils.getFullyQualifiedName(member.getEnclosingElement()), name(member));

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java

Lines changed: 12 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -143,9 +143,9 @@ public Content deprecatedTagOutput(Element element) {
143143
result.add(HtmlTree.SPAN(HtmlStyle.deprecatedLabel,
144144
htmlWriter.getDeprecatedPhrase(element)));
145145
if (!deprs.isEmpty()) {
146-
List<? extends DocTree> commentTags = ch.getDescription(deprs.get(0));
147-
if (!commentTags.isEmpty()) {
148-
result.add(commentTagsToOutput(null, element, commentTags, false));
146+
List<? extends DocTree> commentTrees = ch.getDescription(deprs.get(0));
147+
if (!commentTrees.isEmpty()) {
148+
result.add(commentTagsToOutput(element, null, commentTrees, false));
149149
}
150150
}
151151
}
@@ -154,8 +154,8 @@ public Content deprecatedTagOutput(Element element) {
154154
result.add(HtmlTree.SPAN(HtmlStyle.deprecatedLabel,
155155
htmlWriter.getDeprecatedPhrase(element)));
156156
if (!deprs.isEmpty()) {
157-
List<? extends DocTree> bodyTags = ch.getBody(deprs.get(0));
158-
Content body = commentTagsToOutput(null, element, bodyTags, false);
157+
List<? extends DocTree> bodyTrees = ch.getBody(deprs.get(0));
158+
Content body = commentTagsToOutput(element, null, bodyTrees, false);
159159
if (!body.isEmpty())
160160
result.add(HtmlTree.DIV(HtmlStyle.deprecationComment, body));
161161
}
@@ -205,18 +205,6 @@ public Content paramTagOutput(Element element, DocTree paramTag, String paramNam
205205
return HtmlTree.DD(body);
206206
}
207207

208-
@Override
209-
public Content propertyTagOutput(Element element, DocTree tag, String prefix) {
210-
Content body = new ContentBuilder();
211-
CommentHelper ch = utils.getCommentHelper(element);
212-
body.add(new RawHtml(prefix));
213-
body.add(" ");
214-
body.add(HtmlTree.CODE(new RawHtml(ch.getText(tag))));
215-
body.add(".");
216-
Content result = HtmlTree.P(body);
217-
return result;
218-
}
219-
220208
@Override
221209
public Content returnTagOutput(Element element, DocTree returnTag) {
222210
CommentHelper ch = utils.getCommentHelper(element);
@@ -273,7 +261,7 @@ private void appendSeparatorIfNotEmpty(ContentBuilder body) {
273261
}
274262

275263
@Override
276-
public Content simpleTagOutput(Element element, List<? extends DocTree> simpleTags, String header) {
264+
public Content simpleBlockTagOutput(Element element, List<? extends DocTree> simpleTags, String header) {
277265
CommentHelper ch = utils.getCommentHelper(element);
278266
ContentBuilder body = new ContentBuilder();
279267
boolean many = false;
@@ -290,16 +278,6 @@ public Content simpleTagOutput(Element element, List<? extends DocTree> simpleTa
290278
HtmlTree.DD(body));
291279
}
292280

293-
@Override
294-
public Content simpleTagOutput(Element element, DocTree simpleTag, String header) {
295-
CommentHelper ch = utils.getCommentHelper(element);
296-
List<? extends DocTree> description = ch.getDescription(simpleTag);
297-
Content body = htmlWriter.commentTagsToContent(simpleTag, element, description, false, inSummary);
298-
return new ContentBuilder(
299-
HtmlTree.DT(new RawHtml(header)),
300-
HtmlTree.DD(body));
301-
}
302-
303281
@Override
304282
protected Content systemPropertyTagOutput(Element element, DocTree tag) {
305283
SystemPropertyTree itt = (SystemPropertyTree) tag;
@@ -358,18 +336,18 @@ public Content valueTagOutput(VariableElement field, String constantVal, boolean
358336
}
359337

360338
@Override
361-
public Content commentTagsToOutput(DocTree holderTag, List<? extends DocTree> tags) {
362-
return commentTagsToOutput(holderTag, null, tags, false);
339+
public Content commentTagsToOutput(DocTree holder, List<? extends DocTree> tags) {
340+
return commentTagsToOutput(null, holder, tags, false);
363341
}
364342

365343
@Override
366-
public Content commentTagsToOutput(Element holder, List<? extends DocTree> tags) {
367-
return commentTagsToOutput(null, holder, tags, false);
344+
public Content commentTagsToOutput(Element element, List<? extends DocTree> tags) {
345+
return commentTagsToOutput(element, null, tags, false);
368346
}
369347

370348
@Override
371-
public Content commentTagsToOutput(DocTree holderTag,
372-
Element holder,
349+
public Content commentTagsToOutput(Element holder,
350+
DocTree holderTag,
373351
List<? extends DocTree> tags,
374352
boolean isFirstSentence)
375353
{

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/SerializedFormBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ protected void buildSerialUIDInfo(Content classTree) {
238238
if (field.getSimpleName().toString().compareTo(SERIAL_VERSION_UID) == 0 &&
239239
field.getConstantValue() != null) {
240240
writer.addSerialUIDInfo(SERIAL_VERSION_UID_HEADER,
241-
utils.constantValueExpresion(field), serialUidTree);
241+
utils.constantValueExpression(field), serialUidTree);
242242
break;
243243
}
244244
}

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/BaseTaglet.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ public boolean accepts(DocTree tree) {
143143
* @implSpec This implementation throws {@link UnsupportedTagletOperationException}.
144144
*/
145145
@Override
146-
public Content getTagletOutput(Element element, DocTree tag, TagletWriter writer) {
146+
public Content getInlineTagOutput(Element element, DocTree tag, TagletWriter writer) {
147147
throw new UnsupportedTagletOperationException("Method not supported in taglet " + getName() + ".");
148148
}
149149

@@ -153,7 +153,7 @@ public Content getTagletOutput(Element element, DocTree tag, TagletWriter writer
153153
* @implSpec This implementation throws {@link UnsupportedTagletOperationException}
154154
*/
155155
@Override
156-
public Content getTagletOutput(Element holder, TagletWriter writer) {
156+
public Content getAllBlockTagOutput(Element holder, TagletWriter writer) {
157157
throw new UnsupportedTagletOperationException("Method not supported in taglet " + getName() + ".");
158158
}
159159
}

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/CodeTaglet.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -58,7 +58,7 @@ public class CodeTaglet extends BaseTaglet {
5858
}
5959

6060
@Override
61-
public Content getTagletOutput(Element element, DocTree tag, TagletWriter writer) {
61+
public Content getInlineTagOutput(Element element, DocTree tag, TagletWriter writer) {
6262
return writer.codeTagOutput(element, tag);
6363
}
6464
}

0 commit comments

Comments
 (0)