src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java Wed Dec 13 21:25:49 2017 +0100
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java Wed Dec 13 12:45:06 2017 -0800
@@ -1119,7 +1119,7 @@
(label == null) || label.isEmpty() ? defaultLabel : label,
strong,
resources.getText("doclet.Href_Class_Or_Interface_Title", packageName),
- "");
+ "", true);
}
}
return null;
@@ -1137,6 +1137,11 @@
DocPaths.PACKAGE_SUMMARY.getPath());
}
+ public DocLink getCrossModuleLink(String mdleName) {
+ return configuration.extern.getExternalLink(mdleName, pathToRoot,
+ DocPaths.moduleSummary(mdleName).getPath());
+ }
+
/**
* Get the class link.
*
@@ -1411,13 +1416,14 @@
new StringContent(refPackage.getQualifiedName()));
return getPackageLink(refPackage, label);
} else {
- // @see is not referencing an included class or package. Check for cross links.
+ // @see is not referencing an included class, module or package. Check for cross links.
Content classCrossLink;
- DocLink packageCrossLink = getCrossPackageLink(refClassName);
- if (packageCrossLink != null) {
- // Package cross link found
- return Links.createLink(packageCrossLink,
- (label.isEmpty() ? text : label));
+ DocLink elementCrossLink = (configuration.extern.isModule(refClassName))
+ ? getCrossModuleLink(refClassName) : getCrossPackageLink(refClassName);
+ if (elementCrossLink != null) {
+ // Element cross link found
+ return Links.createLink(elementCrossLink,
+ (label.isEmpty() ? text : label), true);
} else if ((classCrossLink = getCrossClassLink(refClassName,
refMemName, label, false, !isLinkPlain)) != null) {
// Class cross link found (possibly to a member in the class)