diff --git a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt index eed4721ba3..9864169a00 100644 --- a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt +++ b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt @@ -281,8 +281,7 @@ open class HtmlRenderer( }.stripDiv() }) - val isPageWithOverloadedFunctions = pageContext is MemberPage - && pageContext.documentables().let { it.isNotEmpty() && it.all { d -> d is DFunction } } + val isPageWithOverloadedMembers = pageContext is MemberPage && pageContext.documentables().size > 1 val contentOfSourceSet = mutableListOf() distinct.onEachIndexed{ index, (_, distinctInstances) -> @@ -295,9 +294,9 @@ open class HtmlRenderer( // content kind main is important for declarations list to avoid double line breaks if (node.dci.kind == ContentKind.Main && index != distinct.size - 1) { - if (isPageWithOverloadedFunctions) { - // hacky, but there's no other place to modify overloads page atm; - // add some spacing and distinction between function overloads + if (isPageWithOverloadedMembers) { + // add some spacing and distinction between function/property overloads. + // hacky, but there's no other place to modify overloads page atm contentOfSourceSet.add(createOverloadHeader(it.key)) } else { contentOfSourceSet.add(ContentBreakLine(it.key)) diff --git a/plugins/base/src/main/kotlin/transformers/pages/merger/SameMethodNamePageMergerStrategy.kt b/plugins/base/src/main/kotlin/transformers/pages/merger/SameMethodNamePageMergerStrategy.kt index 6c12c71954..003d68cf5a 100644 --- a/plugins/base/src/main/kotlin/transformers/pages/merger/SameMethodNamePageMergerStrategy.kt +++ b/plugins/base/src/main/kotlin/transformers/pages/merger/SameMethodNamePageMergerStrategy.kt @@ -6,6 +6,10 @@ import org.jetbrains.dokka.model.dfs import org.jetbrains.dokka.pages.* import org.jetbrains.dokka.utilities.DokkaLogger +/** + * Merges [MemberPage] elements that have the same name. + * That includes **both** properties and functions. + */ class SameMethodNamePageMergerStrategy(val logger: DokkaLogger) : PageMergerStrategy { override fun tryMerge(pages: List, path: List): List { val members = pages.filterIsInstance().takeIf { it.isNotEmpty() } ?: return pages