aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/kotlin/Formats/JavaLayoutHtml
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2021-06-21 15:03:16 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2021-06-21 15:03:16 +0000
commit1a674e052870a891ff4eb140bf0358880b2ede76 (patch)
tree7ed184660673e7bac61ae4cd824405bfe2ddb8f7 /core/src/main/kotlin/Formats/JavaLayoutHtml
parentb6a894185cf341bb4f01d760893bacee6b6ab4df (diff)
parent194d376f044f4aa46b53f4c1fef75b511d37694c (diff)
downloaddokka-android12-mainline-ipsec-release.tar.gz
Change-Id: I8656a298cd471273b50ce64247ff5920066034a8
Diffstat (limited to 'core/src/main/kotlin/Formats/JavaLayoutHtml')
-rw-r--r--core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormat.kt8
-rw-r--r--core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormatOutputBuilder.kt5
-rw-r--r--core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlGenerator.kt6
3 files changed, 11 insertions, 8 deletions
diff --git a/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormat.kt b/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormat.kt
index 66ded62a6..b94886693 100644
--- a/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormat.kt
+++ b/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormat.kt
@@ -70,7 +70,7 @@ interface JavaLayoutHtmlUriProvider {
}
fun mainUriOrWarn(node: DocumentationNode): URI? = tryGetMainUri(node) ?: (null).also {
- AssertionError("Not implemented mainUri for ${node.kind}").printStackTrace()
+ AssertionError("Not implemented mainUri for ${node.kind} (${node})").printStackTrace()
}
}
@@ -119,7 +119,7 @@ fun DocumentationNode.signatureForAnchor(logger: DokkaLogger): String {
append("Companion.")
}
appendReceiverIfSo()
- append(name)
+ append(prettyName)
details(NodeKind.Parameter).joinTo(this, prefix = "(", postfix = ")") { it.detail(NodeKind.Type).qualifiedNameFromType() }
}
NodeKind.Property, NodeKind.CompanionObjectProperty -> buildString {
@@ -139,7 +139,3 @@ fun DocumentationNode.signatureForAnchor(logger: DokkaLogger): String {
}
}
-fun DocumentationNode.classNodeNameWithOuterClass(): String {
- assert(kind in NodeKind.classLike)
- return path.dropWhile { it.kind == NodeKind.Package || it.kind == NodeKind.Module }.joinToString(separator = ".") { it.name }
-}
diff --git a/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormatOutputBuilder.kt b/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormatOutputBuilder.kt
index 23cb81a1a..f12128f64 100644
--- a/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormatOutputBuilder.kt
+++ b/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormatOutputBuilder.kt
@@ -253,7 +253,7 @@ open class JavaLayoutHtmlFormatOutputBuilder(
renderedSignature(receiver.detail(NodeKind.Type), SUMMARY)
+"."
}
- a(href = node) { +node.name }
+ a(href = node) { +node.prettyName }
shortFunctionParametersList(node)
}
}
@@ -392,6 +392,7 @@ open class JavaLayoutHtmlFormatOutputBuilder(
bodyContent = {
h1 { +page.node.name }
nodeContent(page.node)
+ summaryNodeGroup(page.interfaces, "Interfaces", headerAsRow = false) { classLikeRow(it) }
summaryNodeGroup(page.classes, "Classes", headerAsRow = false) { classLikeRow(it) }
summaryNodeGroup(page.exceptions, "Exceptions", headerAsRow = false) { classLikeRow(it) }
summaryNodeGroup(page.typeAliases, "Type-aliases", headerAsRow = false) { classLikeRow(it) }
@@ -1088,6 +1089,8 @@ open class JavaLayoutHtmlFormatOutputBuilder(
assert(node.kind == NodeKind.Package)
}
+ val interfaces = node.members(NodeKind.Interface) +
+ node.members(NodeKind.Class).flatMap { it.members(NodeKind.Interface) }
val classes = node.members(NodeKind.Class)
val exceptions = node.members(NodeKind.Exception)
val typeAliases = node.members(NodeKind.TypeAlias)
diff --git a/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlGenerator.kt b/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlGenerator.kt
index dc0df2a9e..9928a8e9e 100644
--- a/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlGenerator.kt
+++ b/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlGenerator.kt
@@ -32,6 +32,7 @@ class JavaLayoutHtmlFormatGenerator @Inject constructor(
return when (node.kind) {
NodeKind.Module -> URI("/").resolve(node.name + "/")
NodeKind.Package -> tryGetContainerUri(node.getOwnerOrReport())?.resolve(node.name.replace('.', '/') + '/')
+ NodeKind.GroupNode -> tryGetContainerUri(node.getOwnerOrReport())
in NodeKind.classLike -> tryGetContainerUri(node.getOwnerOrReport())?.resolve("${node.classNodeNameWithOuterClass()}.html")
else -> null
}
@@ -81,7 +82,7 @@ class JavaLayoutHtmlFormatGenerator @Inject constructor(
fun buildPackage(node: DocumentationNode, parentDir: File) {
assert(node.kind == NodeKind.Package)
- val members = node.members
+ var members = node.members
val directoryForPackage = parentDir.resolve(node.name.replace('.', File.separatorChar))
directoryForPackage.mkdirsOrFail()
@@ -89,6 +90,9 @@ class JavaLayoutHtmlFormatGenerator @Inject constructor(
createOutputBuilderForNode(node, it).generatePage(Page.PackagePage(node))
}
+ members.filter { it.kind == NodeKind.GroupNode }.forEach {
+ members += it.members
+ }
members.filter { it.kind in NodeKind.classLike }.forEach {
buildClass(it, directoryForPackage)
}