From b32aa2cc92bf9976b2d8e4aee15b4726a7ec7b56 Mon Sep 17 00:00:00 2001 From: Vlad Koshkin Date: Fri, 4 Jul 2025 12:24:17 +0200 Subject: [PATCH] [kotlin] K2: refine script import handling by filtering out non-script files #KTIJ-33361 Fixed GitOrigin-RevId: 20f50f6f28a30036fed9473136d1711cfe9ddbef --- .../configurations/MainKtsScriptConfigurationProvider.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/kotlin/base/scripting.k2/src/org/jetbrains/kotlin/idea/core/script/k2/configurations/MainKtsScriptConfigurationProvider.kt b/plugins/kotlin/base/scripting.k2/src/org/jetbrains/kotlin/idea/core/script/k2/configurations/MainKtsScriptConfigurationProvider.kt index 325617bcdbfc..23e5229ecd8b 100644 --- a/plugins/kotlin/base/scripting.k2/src/org/jetbrains/kotlin/idea/core/script/k2/configurations/MainKtsScriptConfigurationProvider.kt +++ b/plugins/kotlin/base/scripting.k2/src/org/jetbrains/kotlin/idea/core/script/k2/configurations/MainKtsScriptConfigurationProvider.kt @@ -27,6 +27,7 @@ import org.jetbrains.kotlin.idea.core.script.k2.modules.ScriptRefinedConfigurati import org.jetbrains.kotlin.idea.core.script.k2.modules.ScriptWorkspaceModelManager import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition import org.jetbrains.kotlin.scripting.definitions.findScriptDefinition +import org.jetbrains.kotlin.scripting.definitions.isNonScript import org.jetbrains.kotlin.scripting.resolve.VirtualFileScriptSource import org.jetbrains.kotlin.scripting.resolve.refineScriptCompilationConfiguration import java.io.File @@ -121,9 +122,11 @@ class MainKtsScriptConfigurationProvider(val project: Project, val coroutineScop } } - private val ScriptConfigurationWithSdk.importedScripts - get() = this.scriptConfiguration.valueOrNull()?.importedScripts?.mapNotNull { imported -> (imported as? VirtualFileScriptSource)?.virtualFile } - ?: emptyList() + private val ScriptConfigurationWithSdk.importedScripts: List + get() { + val importedScripts = this.scriptConfiguration.valueOrNull()?.importedScripts ?: return emptyList() + return importedScripts.mapNotNull { (it as? VirtualFileScriptSource)?.virtualFile }.filterNot { it.isNonScript() } + } private fun getUpdatedStorage( project: Project,