From 80393af2abe473056a05503cfb6253aa4e9febd6 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Fri, 24 Apr 2020 01:07:03 +0300 Subject: [PATCH] simplify for IDEA-CR-61813 GitOrigin-RevId: aab261eb2c19f71128e0e1dbee852f56cbe282f3 --- .../psi/impl/search/PsiSearchHelperImpl.java | 23 +++++-------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/platform/indexing-impl/src/com/intellij/psi/impl/search/PsiSearchHelperImpl.java b/platform/indexing-impl/src/com/intellij/psi/impl/search/PsiSearchHelperImpl.java index 954dc1c96bb5..af22da6a0e94 100644 --- a/platform/indexing-impl/src/com/intellij/psi/impl/search/PsiSearchHelperImpl.java +++ b/platform/indexing-impl/src/com/intellij/psi/impl/search/PsiSearchHelperImpl.java @@ -14,7 +14,6 @@ import com.intellij.openapi.application.ex.ApplicationEx; import com.intellij.openapi.application.ex.ApplicationUtil; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.extensions.ExtensionPointName; -import com.intellij.openapi.module.Module; import com.intellij.openapi.progress.*; import com.intellij.openapi.progress.impl.CoreProgressManager; import com.intellij.openapi.progress.util.ProgressWrapper; @@ -321,27 +320,17 @@ public class PsiSearchHelperImpl implements PsiSearchHelper { directories = ContainerUtil.mapNotNull(targets, v -> v.getParent()); - GlobalSearchScope directoryNearTargetScope = new GlobalSearchScope() { - @Override - public boolean isSearchInModuleContent(@NotNull Module aModule) { - return scope.isSearchInModuleContent(aModule); - } - - @Override - public boolean isSearchInLibraries() { - return scope.isSearchInLibraries(); - } - + GlobalSearchScope directoryNearTargetScope = new DelegatingGlobalSearchScope(scope) { @Override public boolean contains(@NotNull VirtualFile file) { - return scope.contains(file) && directories.contains(file.getParent()); + return super.contains(file) && directories.contains(file.getParent()); } }; - Set directoryNearTargetFiles = new THashSet<>(); - getFilesWithText(directoryNearTargetScope, searchContext, caseSensitively, text, directoryNearTargetFiles); - directoryNearTargetFiles.removeAll(targets); + + List directoryNearTargetFiles = + ContainerUtil.filter(allFiles, f -> directoryNearTargetScope.contains(f) && !targets.contains(f)); if (!directoryNearTargetFiles.isEmpty()) { - priorities.add(new ArrayList<>(directoryNearTargetFiles)); + priorities.add(directoryNearTargetFiles); allFiles.removeAll(directoryNearTargetFiles); } }