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) + } } }