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) + } } } }