From 44f6a5adcdc9a4972da0393047b54b3faafe88f6 Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Thu, 18 Jun 2020 19:16:09 +0300 Subject: [PATCH] Filter only valid roots in KotlinScriptDependenciesClassFinder ClassFinder should return only valid roots, but in allScriptsDependenciesClassFiles may contain old roots because they are persistently saved in the storage. This may cause exception after IDE restart --- .../idea/core/script/KotlinScriptDependenciesClassFinder.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/KotlinScriptDependenciesClassFinder.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/KotlinScriptDependenciesClassFinder.kt index 2858617c5df..ca23d4043b9 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/KotlinScriptDependenciesClassFinder.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/KotlinScriptDependenciesClassFinder.kt @@ -20,7 +20,7 @@ class KotlinScriptDependenciesClassFinder( private val project: Project ) : NonClasspathClassFinder(project), KotlinSafeClassFinder { override fun calcClassRoots(): List = ScriptConfigurationManager.getInstance(project) - .getAllScriptsDependenciesClassFiles().toList() + .getAllScriptsDependenciesClassFiles().filter { it.isValid }.toList() override fun findClass(qualifiedName: String, scope: GlobalSearchScope): PsiClass? { tailrec fun findClassInner(parentQualifier: String, inners: List = emptyList()): PsiClass? {