RFR: 8198705: Javadoc search needs a fix to handle duplicate package names in different modules
Jonathan Gibbons
jonathan.gibbons at oracle.com
Fri Jun 5 16:26:56 UTC 2020
EditorContainer ... the method looks like a mistake: it is commented "do
not use"!
-- Jon
On 6/5/20 9:13 AM, Hannes Wallnoefer wrote:
> Please review:
>
> JBS: https://bugs.openjdk.java.net/browse/JDK-8198705
> Webrev: http://cr.openjdk.java.net/~hannesw/8198705/webrev.00/
>
> This adds code in AbstractIndexBuilder to detect search index items that display the same label in the search result. If there are, the module information is added to the index item in an attempt to keep them apart.
>
> Unfortunately, this catches a few „false positives“ where equal labels are not caused by same name types in different modules. For example in JDK there is javax.swing.tree.DefaultTreeCellEditor.EditorContainer.EditorContainer() which is both a constructor and a method. (Would be interesting to know the history of that method.)
>
> I have tried working around this by trying to detect only identical labels that actually reside in diffferent modules, but the code got so complex that I thought it wasn’t worth the effort, especially since this is such a corner case and the effect is rather harmless (the module name being displayed in search results).
>
> The module name is displayed simply by prepending it to the fully qualified type or member name separated by a slash character, e.g. module/package.Class or module/package.Class.member(). I did not use the extra module label approach since it looked odd when mixed with results without module label.
>
> An example of API docs using this can be viewed here (enter „c“ in the search field):
> http://cr.openjdk.java.net/~hannesw/8198705/out.00/
>
> Thanks,
> Hannes
More information about the javadoc-dev
mailing list