From 8522be88c42bd0bab733c9680aed68cb49ae376d Mon Sep 17 00:00:00 2001 From: vmishenev Date: Thu, 20 Jan 2022 00:34:24 +0300 Subject: [PATCH] Merge constructors --- .../documentables/DefaultPageCreator.kt | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt index 2328c00eb3..68c7eb0989 100644 --- a/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt +++ b/plugins/base/src/main/kotlin/translators/documentables/DefaultPageCreator.kt @@ -371,27 +371,30 @@ open class DefaultPageCreator( +contentForComments(documentables) val csWithConstructor = cs.filterIsInstance() if (csWithConstructor.isNotEmpty()) { - block( + val constructorsToDocumented = csWithConstructor.flatMap { it.constructors } + .filter { it.extra[PrimaryConstructorExtra] == null || it.documentation.isNotEmpty() } + multiBlock( "Constructors", 2, ContentKind.Constructors, - csWithConstructor.flatMap { it.constructors } - .filter { it.extra[PrimaryConstructorExtra] == null || it.documentation.isNotEmpty() }, + constructorsToDocumented.groupBy { it.parameters }.map { (_,v) -> v.first().name to v }, @Suppress("UNCHECKED_CAST") (csWithConstructor as List).sourceSets, needsAnchors = true, extra = PropertyContainer.empty() + SimpleAttr.header("Constructors") - ) { - link(it.name, it.dri, kind = ContentKind.Main) + ) { key, ds -> + link(key, ds.first().dri, kind = ContentKind.Main) sourceSetDependentHint( - it.dri, - it.sourceSets.toSet(), + ds.dri, + ds.sourceSets, kind = ContentKind.SourceSetDependentHint, styles = emptySet(), extra = PropertyContainer.empty() ) { - +buildSignature(it) - contentForBrief(it) + ds.forEach { + +buildSignature(it) + contentForBrief(it) + } } } }