From bbdbfb23b0393e38fac3ae6d8133c9963702f69f Mon Sep 17 00:00:00 2001 From: Ilya Muradyan Date: Mon, 11 Dec 2023 02:59:56 +0100 Subject: [PATCH] KTIJ-28122: Sort definitions according to the sources order GitOrigin-RevId: ce92f860bc1e28bd8efa06b1250e82fb7b6c0f5b --- .../kotlin/idea/core/script/ScriptDefinitionsManager.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/kotlin/base/scripting/src/org/jetbrains/kotlin/idea/core/script/ScriptDefinitionsManager.kt b/plugins/kotlin/base/scripting/src/org/jetbrains/kotlin/idea/core/script/ScriptDefinitionsManager.kt index 19b78722b730..a4178e8d23ec 100644 --- a/plugins/kotlin/base/scripting/src/org/jetbrains/kotlin/idea/core/script/ScriptDefinitionsManager.kt +++ b/plugins/kotlin/base/scripting/src/org/jetbrains/kotlin/idea/core/script/ScriptDefinitionsManager.kt @@ -212,7 +212,10 @@ open class ScriptDefinitionsManager(private val project: Project) : LazyScriptDe withLocks { definitionsBySource.putAll(newDefinitionsBySource) - loadedDefinitions = definitionsBySource.values.flattenTo(mutableListOf()) + loadedDefinitions = definitionsBySource + .entries + .sortedBy { sources.indexOf(it.key).takeIf { it >= 0 } ?: Int.MAX_VALUE } + .flatMapTo(mutableListOf()) { it.value } .onEach { it.order = scriptingSettings.getScriptDefinitionOrder(it) } .sortedBy(ScriptDefinition::order) .takeIf { it.isNotEmpty() }