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
This commit is contained in:
+1
-1
@@ -20,7 +20,7 @@ class KotlinScriptDependenciesClassFinder(
|
|||||||
private val project: Project
|
private val project: Project
|
||||||
) : NonClasspathClassFinder(project), KotlinSafeClassFinder {
|
) : NonClasspathClassFinder(project), KotlinSafeClassFinder {
|
||||||
override fun calcClassRoots(): List<VirtualFile> = ScriptConfigurationManager.getInstance(project)
|
override fun calcClassRoots(): List<VirtualFile> = ScriptConfigurationManager.getInstance(project)
|
||||||
.getAllScriptsDependenciesClassFiles().toList()
|
.getAllScriptsDependenciesClassFiles().filter { it.isValid }.toList()
|
||||||
|
|
||||||
override fun findClass(qualifiedName: String, scope: GlobalSearchScope): PsiClass? {
|
override fun findClass(qualifiedName: String, scope: GlobalSearchScope): PsiClass? {
|
||||||
tailrec fun findClassInner(parentQualifier: String, inners: List<String> = emptyList()): PsiClass? {
|
tailrec fun findClassInner(parentQualifier: String, inners: List<String> = emptyList()): PsiClass? {
|
||||||
|
|||||||
Reference in New Issue
Block a user