FIR IDE: collect diagnostics under read lock

This commit is contained in:
Ilya Kirillov
2021-03-05 13:23:27 +01:00
parent 770468c78e
commit 81baf4fae5
@@ -59,8 +59,11 @@ internal class FileStructure(
@OptIn(ExperimentalStdlibApi::class)
fun getAllDiagnosticsForFile(diagnosticCheckerFilter: DiagnosticCheckerFilter): Collection<FirPsiDiagnostic<*>> {
val structureElements = getAllStructureElements()
return buildSet {
collectDiagnosticsFromStructureElements(structureElements, diagnosticCheckerFilter)
return moduleFileCache.firFileLockProvider.withReadLock(firFile) {
buildSet {
collectDiagnosticsFromStructureElements(structureElements, diagnosticCheckerFilter)
}
}
}