From 02be470e9184c14817165fd247b5e91981c387ab Mon Sep 17 00:00:00 2001 From: Vladimir Dolzhenko Date: Tue, 1 Sep 2020 09:49:21 +0200 Subject: [PATCH] Check if vFile is still valid in ScriptClassRootsUpdater#updateHighlighting ^EA-218774 Fixed --- .../kotlin/idea/core/script/ucache/ScriptClassRootsUpdater.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ucache/ScriptClassRootsUpdater.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ucache/ScriptClassRootsUpdater.kt index f1aa7abcaf4..532d0dbc42c 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ucache/ScriptClassRootsUpdater.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ucache/ScriptClassRootsUpdater.kt @@ -237,7 +237,7 @@ abstract class ScriptClassRootsUpdater( if (!project.isOpen) return val openFiles = FileEditorManager.getInstance(project).allEditors.mapNotNull { it.file } - val openedScripts = openFiles.filter { filter(it) } + val openedScripts = openFiles.filter(filter) if (openedScripts.isEmpty()) return @@ -245,6 +245,8 @@ abstract class ScriptClassRootsUpdater( if (project.isDisposed) return@launch openedScripts.forEach { + if (!it.isValid) return@forEach + PsiManager.getInstance(project).findFile(it)?.let { psiFile -> if (psiFile is KtFile) { DaemonCodeAnalyzer.getInstance(project).restart(psiFile)