Add cancelation check when building anchor mappings

This commit is contained in:
Pavel Kirpichenkov
2020-05-12 20:17:51 +03:00
parent 7fff8f82e2
commit 175fe163af
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.caches.resolve.KotlinCacheService
import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.idea.caches.project.* import org.jetbrains.kotlin.idea.caches.project.*
import org.jetbrains.kotlin.idea.project.libraryToSourceAnalysisEnabled import org.jetbrains.kotlin.idea.project.libraryToSourceAnalysisEnabled
import org.jetbrains.kotlin.progress.ProgressIndicatorAndCompilationCanceledStatus
import org.jetbrains.kotlin.resolve.ResolutionAnchorProvider import org.jetbrains.kotlin.resolve.ResolutionAnchorProvider
@State(name = "KotlinIdeAnchorService", storages = [Storage("anchors.xml")]) @State(name = "KotlinIdeAnchorService", storages = [Storage("anchors.xml")])
@@ -36,7 +37,8 @@ class KotlinIdeResolutionAnchorService(
var myState: State = State() var myState: State = State()
private fun buildMapping(): Map<ModuleInfo, ModuleInfo> { private fun buildMapping(): Map<ModuleInfo, ModuleInfo> {
val modulesByNames = getModuleInfosFromIdeaModel(project).associateBy { moduleInfo -> val modulesByNames = getModuleInfosFromIdeaModel(project).associateBy { moduleInfo ->
ProgressIndicatorAndCompilationCanceledStatus.checkCanceled()
when (moduleInfo) { when (moduleInfo) {
is LibraryInfo -> moduleInfo.library.name is LibraryInfo -> moduleInfo.library.name
is ModuleSourceInfo -> moduleInfo.module.name is ModuleSourceInfo -> moduleInfo.module.name