From 81baf4fae5c1efec00a67dc26b4007663efbf126 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Fri, 5 Mar 2021 13:23:27 +0100 Subject: [PATCH] FIR IDE: collect diagnostics under read lock --- .../idea/fir/low/level/api/file/structure/FileStructure.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/file/structure/FileStructure.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/file/structure/FileStructure.kt index 7b8362dfda2..7c3e546bfd8 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/file/structure/FileStructure.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/file/structure/FileStructure.kt @@ -59,8 +59,11 @@ internal class FileStructure( @OptIn(ExperimentalStdlibApi::class) fun getAllDiagnosticsForFile(diagnosticCheckerFilter: DiagnosticCheckerFilter): Collection> { val structureElements = getAllStructureElements() - return buildSet { - collectDiagnosticsFromStructureElements(structureElements, diagnosticCheckerFilter) + + return moduleFileCache.firFileLockProvider.withReadLock(firFile) { + buildSet { + collectDiagnosticsFromStructureElements(structureElements, diagnosticCheckerFilter) + } } }