From 8a17a16ee27f8f6514622366de5989ec6dbde355 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Mon, 21 Dec 2020 13:27:28 +0100 Subject: [PATCH] FIR IDE: consider modification in invalid PSI as OOBM --- .../api/trackers/KotlinFirOutOfBlockModificationTracker.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/trackers/KotlinFirOutOfBlockModificationTracker.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/trackers/KotlinFirOutOfBlockModificationTracker.kt index 7a3ddd10fd3..3cc34e6c68d 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/trackers/KotlinFirOutOfBlockModificationTracker.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/trackers/KotlinFirOutOfBlockModificationTracker.kt @@ -105,6 +105,12 @@ internal class KotlinFirModificationTrackerService(project: Project) : Disposabl private fun isOutOfBlockChange(node: ASTNode): Boolean { val psi = node.psi ?: return true + if (!psi.isValid) { + /** + * If PSI is not valid, well something bad happened, OOBM won't hurt + */ + return true + } val container = psi.getNonLocalContainingInBodyDeclarationWith() ?: return true return !FileElementFactory.isReanalyzableContainer(container) }