11package org.digma.intellij.plugin.idea.navigation
22
33import com.intellij.openapi.Disposable
4+ import com.intellij.openapi.application.readAction
45import com.intellij.openapi.components.Service
56import com.intellij.openapi.diagnostic.Logger
67import com.intellij.openapi.project.Project
@@ -24,7 +25,6 @@ import kotlinx.coroutines.launch
2425import kotlinx.datetime.Clock
2526import kotlinx.datetime.Instant
2627import org.digma.intellij.plugin.common.isProjectValid
27- import org.digma.intellij.plugin.common.runInReadAccessWithResult
2828import org.digma.intellij.plugin.errorreporting.ErrorReporter
2929import org.digma.intellij.plugin.idea.psi.isJvmSupportedFile
3030import org.digma.intellij.plugin.log.Log
@@ -483,12 +483,12 @@ class NavigationDiscoveryChangeService(private val project: Project, private val
483483
484484
485485 private interface ItemProcessor <T > {
486- fun process (item : T )
486+ suspend fun process (item : T )
487487 }
488488
489489
490490 private inner class FileEventsProcessor : ItemProcessor <VFileEvent > {
491- override fun process (item : VFileEvent ) {
491+ override suspend fun process (item : VFileEvent ) {
492492
493493 try {
494494
@@ -554,7 +554,7 @@ class NavigationDiscoveryChangeService(private val project: Project, private val
554554
555555
556556 private inner class ChangedFileProcessor : ItemProcessor <String > {
557- override fun process (item : String ) {
557+ override suspend fun process (item : String ) {
558558
559559 try {
560560
@@ -572,9 +572,10 @@ class NavigationDiscoveryChangeService(private val project: Project, private val
572572 }
573573
574574
575- private fun updateNavigation (project : Project , file : VirtualFile ) {
575+ private suspend fun updateNavigation (project : Project , file : VirtualFile ) {
576576 if (isValidRelevantFile(project, file)) {
577- val psiFile = runInReadAccessWithResult {
577+
578+ val psiFile = readAction {
578579 PsiManager .getInstance(project).findFile(file)
579580 }
580581 psiFile?.let {
0 commit comments