RFR: [15] JDK-8235947: Cleanup/simplify Utils.getBlockTags

Jonathan Gibbons jonathan.gibbons at oracle.com
Sat Dec 14 02:17:08 UTC 2019


Please review a moderately simple cleanup to the implementation(s) of 
Utils.getBlockTags.

The existing code is unnecessarily string-oriented, and can be improved 
by better leveraging DocTree.Kind, especially by updating each subtype 
of BaseTaglet to know its associated DocTree.Kind.

The core of the fix is Utils, with additional support in BaseTaglet and 
SimpleTaglet. The other changes are derivative changes using the new API.

There are more changes possible in this (general) area. For example, 
there are similar methods such as Utils.hasBlockTag, and methods like 
CommentHelper.getTagName. At a minimum, it may be reasonable to 
co-locate all these methods in a new "Tags" utility class, but it is 
also worth investigating what additional simplifications can be made. 
But for now, this is a good checkpoint.

The old code accidentally covered up a pre-existing bug, which was 
exposed in the replacement code. The old code did not return @uses and 
@provides from getBlockTags, and so they did not not to be skipped as 
part of the main comment in ModuleWriterImpl.  Now they are returned by 
getBlockTags, and so need to be skipped in TagletWriter.

This is all cleanup with no changes in the generated output. There are 
no new tests and no changes needed to any existing tests. A full 
comparison against a reference JDK was done with the standard JDK docs 
(make docs) and with all the output from all the jtreg javadoc tests.

-- Jon

JBS: https://bugs.openjdk.java.net/browse/JDK-8235947
Webrev:  http://cr.openjdk.java.net/~jjg/8235947/webrev.00/



More information about the javadoc-dev mailing list