diff options
Diffstat (limited to 'core/src/main/kotlin/Formats/JavaLayoutHtml')
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) } |