From d70dd7808bf293175179e84839a15785acc2ce8d Mon Sep 17 00:00:00 2001 From: Dmitriy Dolovov Date: Thu, 22 Feb 2024 17:58:55 +0100 Subject: [PATCH] [kotlinp] Fix: Forgotten sorting of `KmClass`es in KlibKotlinp The declarations that are printed by the kotlinp tool may be optionally sorted. That's controlled by `sortDeclarations` flag in `org.jetbrains.kotlin.kotlinp.Settings`. However, there was no sorting implemented for `KmClass`es. This commit fixes that. ^KT-62340 --- .../klib/src/org/jetbrains/kotlin/kotlinp/klib/KlibKotlinp.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/tools/kotlinp/klib/src/org/jetbrains/kotlin/kotlinp/klib/KlibKotlinp.kt b/libraries/tools/kotlinp/klib/src/org/jetbrains/kotlin/kotlinp/klib/KlibKotlinp.kt index bf3bfe7f4c8..a3539a0c20f 100644 --- a/libraries/tools/kotlinp/klib/src/org/jetbrains/kotlin/kotlinp/klib/KlibKotlinp.kt +++ b/libraries/tools/kotlinp/klib/src/org/jetbrains/kotlin/kotlinp/klib/KlibKotlinp.kt @@ -38,7 +38,7 @@ class KlibKotlinp( appendCommentedLine("class name: ", it) } } - moduleFragment.classes.forEach { appendLine(); renderClass(it, printer) } + moduleFragment.classes.sortIfNeeded { it.sortedBy(KmClass::name) }.forEach { appendLine(); renderClass(it, printer) } moduleFragment.pkg?.let { appendLine(); renderPackage(it, printer) } } appendLine("}")