diff --git a/platform/core-api/src/com/intellij/psi/search/FileTypeRestrictionScope.java b/platform/core-api/src/com/intellij/psi/search/FileTypeRestrictionScope.java index f93dd6163a02..a859e166546f 100644 --- a/platform/core-api/src/com/intellij/psi/search/FileTypeRestrictionScope.java +++ b/platform/core-api/src/com/intellij/psi/search/FileTypeRestrictionScope.java @@ -3,6 +3,7 @@ package com.intellij.psi.search; import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.fileTypes.FileTypeRegistry; +import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.search.impl.VirtualFileEnumeration; import com.intellij.psi.search.impl.VirtualFileEnumerationAware; @@ -27,6 +28,7 @@ final class FileTypeRestrictionScope extends DelegatingGlobalSearchScope impleme if (!super.contains(file)) return false; for (FileType otherFileType : myFileTypes) { + ProgressManager.checkCanceled(); if (FileTypeRegistry.getInstance().isFileOfType(file, otherFileType)) return true; } diff --git a/platform/core-api/src/com/intellij/psi/search/UnionScope.java b/platform/core-api/src/com/intellij/psi/search/UnionScope.java index 1d6ccd47abb7..aaf06156d685 100644 --- a/platform/core-api/src/com/intellij/psi/search/UnionScope.java +++ b/platform/core-api/src/com/intellij/psi/search/UnionScope.java @@ -4,6 +4,7 @@ package com.intellij.psi.search; import com.intellij.core.CoreBundle; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.UnloadedModuleDescription; +import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; @@ -104,7 +105,10 @@ final class UnionScope extends GlobalSearchScope implements VirtualFileEnumerati @Override public boolean contains(final @NotNull VirtualFile file) { - return ContainerUtil.find(myScopes, scope -> scope.contains(file)) != null; + return ContainerUtil.find(myScopes, scope -> { + ProgressManager.checkCanceled(); + return scope.contains(file); + }) != null; } @Override diff --git a/platform/projectModel-impl/src/com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleDependencyIndexImpl.kt b/platform/projectModel-impl/src/com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleDependencyIndexImpl.kt index e59dcf843838..7063cd335225 100644 --- a/platform/projectModel-impl/src/com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleDependencyIndexImpl.kt +++ b/platform/projectModel-impl/src/com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleDependencyIndexImpl.kt @@ -7,6 +7,7 @@ import com.intellij.openapi.diagnostic.logger import com.intellij.openapi.extensions.ExtensionPointListener import com.intellij.openapi.extensions.ExtensionPointPriorityListener import com.intellij.openapi.extensions.PluginDescriptor +import com.intellij.openapi.progress.ProgressManager import com.intellij.openapi.project.Project import com.intellij.openapi.projectRoots.ProjectJdkTable import com.intellij.openapi.projectRoots.Sdk @@ -283,6 +284,7 @@ open class ModuleDependencyIndexImpl(private val project: Project): ModuleDepend } fun hasDependencyOn(library: Library): Boolean { + ProgressManager.checkCanceled() return when (library) { is LibraryBridge -> hasDependencyOn(library.libraryId) is LibraryModifiableModelBridge -> hasDependencyOn(library.libraryId)