mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
move scope constructors to GlobalSearchScopes
This commit is contained in:
@@ -19,7 +19,7 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.ex.temp.TempFileSystem;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.GlobalSearchScopes;
|
||||
import com.intellij.util.indexing.*;
|
||||
import com.intellij.util.io.DataExternalizer;
|
||||
import org.intellij.images.fileTypes.ImageFileTypeManager;
|
||||
@@ -71,7 +71,8 @@ public class ImageInfoIndex extends SingleEntryFileBasedIndexExtension<ImageInfo
|
||||
}
|
||||
|
||||
public static void processValues(VirtualFile virtualFile, FileBasedIndex.ValueProcessor<ImageInfo> processor, Project project) {
|
||||
FileBasedIndex.getInstance().processValues(INDEX_ID, Math.abs(FileBasedIndex.getFileId(virtualFile)), virtualFile, processor, GlobalSearchScope.fileScope(project, virtualFile));
|
||||
FileBasedIndex.getInstance().processValues(INDEX_ID, Math.abs(FileBasedIndex.getFileId(virtualFile)), virtualFile, processor, GlobalSearchScopes
|
||||
.fileScope(project, virtualFile));
|
||||
}
|
||||
|
||||
public DataExternalizer<ImageInfo> getValueExternalizer() {
|
||||
|
||||
+3
-1
@@ -60,6 +60,7 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.JavaPsiFacade;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.GlobalSearchScopes;
|
||||
import com.intellij.util.Chunk;
|
||||
import com.intellij.util.cls.ClsFormatException;
|
||||
import gnu.trove.THashMap;
|
||||
@@ -584,7 +585,8 @@ public class BackendCompilerWrapper {
|
||||
final String packagePrefix, final List<File> filesToRefresh, final Map<String, Collection<TranslatingCompiler.OutputItem>> results) throws CacheCorruptedException {
|
||||
final Ref<CacheCorruptedException> exRef = new Ref<CacheCorruptedException>(null);
|
||||
final ModuleFileIndex fileIndex = ModuleRootManager.getInstance(module).getFileIndex();
|
||||
final GlobalSearchScope srcRootScope = GlobalSearchScope.moduleScope(module).intersectWith(GlobalSearchScope.directoryScope(myProject, sourceRoot, true));
|
||||
final GlobalSearchScope srcRootScope = GlobalSearchScope.moduleScope(module).intersectWith(
|
||||
GlobalSearchScopes.directoryScope(myProject, sourceRoot, true));
|
||||
|
||||
final ContentIterator contentIterator = new ContentIterator() {
|
||||
public boolean processFile(final VirtualFile child) {
|
||||
|
||||
+2
-1
@@ -48,6 +48,7 @@ import com.intellij.psi.PsiCompiledElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiRecursiveElementVisitor;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.GlobalSearchScopes;
|
||||
import com.intellij.psi.search.scope.packageSet.NamedScope;
|
||||
import com.intellij.psi.search.scope.packageSet.PackageSetFactory;
|
||||
import com.intellij.psi.search.scope.packageSet.ParsingException;
|
||||
@@ -94,7 +95,7 @@ public class UnusedLibrariesInspection extends DescriptorProviderInspection {
|
||||
GlobalSearchScope searchScope;
|
||||
try {
|
||||
@NonNls final String libsName = "libs";
|
||||
searchScope = GlobalSearchScope.filterScope(project, new NamedScope(libsName, PackageSetFactory.getInstance().compile("lib:*..*")));
|
||||
searchScope = GlobalSearchScopes.filterScope(project, new NamedScope(libsName, PackageSetFactory.getInstance().compile("lib:*..*")));
|
||||
}
|
||||
catch (ParsingException e) {
|
||||
//can't be
|
||||
|
||||
@@ -28,6 +28,7 @@ import com.intellij.psi.PsiElementFactory;
|
||||
import com.intellij.psi.PsiPackageStatement;
|
||||
import com.intellij.psi.impl.java.stubs.JavaStubElementTypes;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.GlobalSearchScopes;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.testFramework.LightVirtualFile;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -52,7 +53,7 @@ public class PsiJavaFileImpl extends PsiJavaFileBaseImpl {
|
||||
if (file != null && !(file instanceof LightVirtualFile)) {
|
||||
final ProjectFileIndex index = ProjectRootManager.getInstance(getProject()).getFileIndex();
|
||||
if (!index.isInSource(file) && !index.isInLibraryClasses(file)) {
|
||||
return GlobalSearchScope.fileScope(this);
|
||||
return GlobalSearchScopes.fileScope(this);
|
||||
}
|
||||
}
|
||||
return super.getResolveScope();
|
||||
|
||||
+2
-2
@@ -31,7 +31,7 @@ import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.GlobalSearchScopes;
|
||||
import com.intellij.psi.search.searches.ReferencesSearch;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
@@ -145,7 +145,7 @@ public class TypeMigrationDialog extends RefactoringDialog {
|
||||
if (VisibilityUtil.compare(VisibilityUtil.getVisibilityModifier(modifierList), PsiModifier.PRIVATE) < 0) return null;
|
||||
}
|
||||
|
||||
for (PsiReference reference : ReferencesSearch.search(root, GlobalSearchScope.fileScope(root.getContainingFile()))) {
|
||||
for (PsiReference reference : ReferencesSearch.search(root, GlobalSearchScopes.fileScope(root.getContainingFile()))) {
|
||||
final PsiElement element = reference.getElement();
|
||||
final PsiExpression expr = PsiTreeUtil.getParentOfType(element, PsiExpression.class, false);
|
||||
if (expr != null) {
|
||||
|
||||
@@ -38,6 +38,7 @@ import com.intellij.openapi.vfs.VirtualFileFilter;
|
||||
import com.intellij.profile.ProjectProfileManager;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.GlobalSearchScopes;
|
||||
import com.intellij.psi.search.LocalSearchScope;
|
||||
import com.intellij.psi.search.SearchScope;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
@@ -637,14 +638,14 @@ public class AnalysisScope {
|
||||
case CUSTOM:
|
||||
return myScope;
|
||||
case DIRECTORY:
|
||||
return GlobalSearchScope.directoryScope((PsiDirectory)myElement, true);
|
||||
return GlobalSearchScopes.directoryScope((PsiDirectory)myElement, true);
|
||||
case FILE:
|
||||
return new LocalSearchScope(myElement);
|
||||
case INVALID:
|
||||
return LocalSearchScope.EMPTY;
|
||||
case MODULE:
|
||||
GlobalSearchScope moduleScope = GlobalSearchScope.moduleScope(myModule);
|
||||
return myIncludeTestSource ? moduleScope : GlobalSearchScope.notScope(GlobalSearchScope.projectTestScope(myModule.getProject())).intersectWith(moduleScope);
|
||||
return myIncludeTestSource ? moduleScope : GlobalSearchScope.notScope(GlobalSearchScopes.projectTestScope(myModule.getProject())).intersectWith(moduleScope);
|
||||
case MODULES:
|
||||
SearchScope scope = GlobalSearchScope.EMPTY_SCOPE;
|
||||
for (Module module : myModules) {
|
||||
@@ -652,7 +653,7 @@ public class AnalysisScope {
|
||||
}
|
||||
return scope;
|
||||
case PROJECT:
|
||||
return myIncludeTestSource ? GlobalSearchScope.projectScope(myProject) : GlobalSearchScope.projectProductionScope(myProject);
|
||||
return myIncludeTestSource ? GlobalSearchScope.projectScope(myProject) : GlobalSearchScopes.projectProductionScope(myProject);
|
||||
case VIRTUAL_FILES:
|
||||
return new GlobalSearchScope() {
|
||||
@Override
|
||||
|
||||
@@ -20,21 +20,15 @@ import com.intellij.openapi.fileTypes.FileType;
|
||||
import com.intellij.openapi.fileTypes.FileTypeManager;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.ProjectFileIndex;
|
||||
import com.intellij.openapi.roots.ProjectRootManager;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.vfs.VfsUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.search.scope.packageSet.*;
|
||||
import com.intellij.psi.util.PsiUtilBase;
|
||||
import com.intellij.psi.PsiBundle;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class GlobalSearchScope extends SearchScope implements ProjectAwareFileFilter {
|
||||
@@ -109,7 +103,7 @@ public abstract class GlobalSearchScope extends SearchScope implements ProjectAw
|
||||
result.add(element2);
|
||||
}
|
||||
}
|
||||
return new LocalSearchScope(PsiUtilBase.toPsiElementArray(result), null, localScope2.isIgnoreInjectedPsi());
|
||||
return new LocalSearchScope(result.toArray(new PsiElement[result.size()]), null, localScope2.isIgnoreInjectedPsi());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -161,22 +155,6 @@ public abstract class GlobalSearchScope extends SearchScope implements ProjectAw
|
||||
return ProjectScope.getProjectScope(project);
|
||||
}
|
||||
|
||||
public static GlobalSearchScope projectProductionScope(@NotNull Project project) {
|
||||
return new IntersectionScope(projectScope(project),
|
||||
new ProductionScopeFilter(project),
|
||||
PsiBundle.message("psi.search.scope.production.files"));
|
||||
}
|
||||
|
||||
public static GlobalSearchScope projectTestScope(@NotNull Project project) {
|
||||
return new IntersectionScope(projectScope(project),
|
||||
new TestScopeFilter(project),
|
||||
PsiBundle.message("psi.search.scope.test.files"));
|
||||
}
|
||||
|
||||
public static GlobalSearchScope filterScope(@NotNull Project project, @NotNull NamedScope set) {
|
||||
return new FilterScopeAdapter(project, set);
|
||||
}
|
||||
|
||||
public static GlobalSearchScope notScope(@NotNull final GlobalSearchScope scope) {
|
||||
return new DelegatingGlobalSearchScope(scope) {
|
||||
public boolean contains(final VirtualFile file) {
|
||||
@@ -240,33 +218,12 @@ public abstract class GlobalSearchScope extends SearchScope implements ProjectAw
|
||||
return module.getModuleWithDependentsScope();
|
||||
}
|
||||
|
||||
public static GlobalSearchScope directoryScope(@NotNull PsiDirectory directory, final boolean withSubdirectories) {
|
||||
return new DirectoryScope(directory, withSubdirectories);
|
||||
}
|
||||
|
||||
public static GlobalSearchScope directoryScope(@NotNull Project project, @NotNull VirtualFile directory, final boolean withSubdirectories) {
|
||||
return new DirectoryScope(project, directory, withSubdirectories);
|
||||
}
|
||||
|
||||
public static GlobalSearchScope fileScope(@NotNull PsiFile psiFile) {
|
||||
return new FileScope(psiFile.getProject(), psiFile.getVirtualFile());
|
||||
}
|
||||
|
||||
public static GlobalSearchScope fileScope(final Project project, final VirtualFile virtualFile) {
|
||||
return new FileScope(project, virtualFile);
|
||||
}
|
||||
|
||||
public static GlobalSearchScope filesScope(final Project project, final Collection<VirtualFile> files) {
|
||||
if (files.isEmpty()) return EMPTY_SCOPE;
|
||||
return files.size() == 1? fileScope(project, files.iterator().next()) : new FilesScope(project, files);
|
||||
}
|
||||
|
||||
private static class IntersectionScope extends GlobalSearchScope {
|
||||
static class IntersectionScope extends GlobalSearchScope {
|
||||
private final GlobalSearchScope myScope1;
|
||||
private final GlobalSearchScope myScope2;
|
||||
private final String myDisplayName;
|
||||
|
||||
private IntersectionScope(@NotNull GlobalSearchScope scope1, @NotNull GlobalSearchScope scope2, String displayName) {
|
||||
IntersectionScope(@NotNull GlobalSearchScope scope1, @NotNull GlobalSearchScope scope2, String displayName) {
|
||||
super(scope1.getProject() == null ? scope2.getProject() : scope1.getProject());
|
||||
myScope1 = scope1;
|
||||
myScope2 = scope2;
|
||||
@@ -414,217 +371,6 @@ public abstract class GlobalSearchScope extends SearchScope implements ProjectAw
|
||||
}
|
||||
}
|
||||
|
||||
private static class ProductionScopeFilter extends GlobalSearchScope {
|
||||
private final ProjectFileIndex myFileIndex;
|
||||
|
||||
private ProductionScopeFilter(@NotNull Project project) {
|
||||
super(project);
|
||||
myFileIndex = ProjectRootManager.getInstance(project).getFileIndex();
|
||||
}
|
||||
|
||||
public boolean contains(VirtualFile file) {
|
||||
return myFileIndex.isInSourceContent(file) && !myFileIndex.isInTestSourceContent(file);
|
||||
}
|
||||
|
||||
public int compare(VirtualFile file1, VirtualFile file2) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public boolean isSearchInModuleContent(@NotNull Module aModule) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isSearchInModuleContent(@NotNull final Module aModule, final boolean testSources) {
|
||||
return !testSources;
|
||||
}
|
||||
|
||||
public boolean isSearchInLibraries() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private static class TestScopeFilter extends GlobalSearchScope {
|
||||
private final ProjectFileIndex myFileIndex;
|
||||
|
||||
private TestScopeFilter(@NotNull Project project) {
|
||||
super(project);
|
||||
myFileIndex = ProjectRootManager.getInstance(project).getFileIndex();
|
||||
}
|
||||
|
||||
public boolean contains(VirtualFile file) {
|
||||
return myFileIndex.isInTestSourceContent(file);
|
||||
}
|
||||
|
||||
public int compare(VirtualFile file1, VirtualFile file2) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public boolean isSearchInModuleContent(@NotNull Module aModule) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isSearchInModuleContent(@NotNull final Module aModule, final boolean testSources) {
|
||||
return testSources;
|
||||
}
|
||||
|
||||
public boolean isSearchInLibraries() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private static class DirectoryScope extends GlobalSearchScope {
|
||||
private final VirtualFile myDirectory;
|
||||
private final boolean myWithSubdirectories;
|
||||
|
||||
private DirectoryScope(@NotNull PsiDirectory directory, final boolean withSubdirectories) {
|
||||
super(directory.getProject());
|
||||
myWithSubdirectories = withSubdirectories;
|
||||
myDirectory = directory.getVirtualFile();
|
||||
}
|
||||
|
||||
private DirectoryScope(@NotNull Project project, @NotNull VirtualFile directory, final boolean withSubdirectories) {
|
||||
super(project);
|
||||
myWithSubdirectories = withSubdirectories;
|
||||
myDirectory = directory;
|
||||
}
|
||||
|
||||
public boolean contains(VirtualFile file) {
|
||||
if (myWithSubdirectories) {
|
||||
return VfsUtil.isAncestor(myDirectory, file, false);
|
||||
}
|
||||
else {
|
||||
return myDirectory.equals(file.getParent());
|
||||
}
|
||||
}
|
||||
|
||||
public int compare(VirtualFile file1, VirtualFile file2) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public boolean isSearchInModuleContent(@NotNull Module aModule) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isSearchInLibraries() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
//noinspection HardCodedStringLiteral
|
||||
return "directory scope: " + myDirectory + "; withSubdirs:"+myWithSubdirectories;
|
||||
}
|
||||
}
|
||||
|
||||
private static class FileScope extends GlobalSearchScope {
|
||||
private final VirtualFile myVirtualFile;
|
||||
private final Module myModule;
|
||||
|
||||
private FileScope(final Project project, final VirtualFile virtualFile) {
|
||||
super(project);
|
||||
myVirtualFile = virtualFile;
|
||||
ProjectFileIndex fileIndex = ProjectRootManager.getInstance(project).getFileIndex();
|
||||
myModule = myVirtualFile != null ? fileIndex.getModuleForFile(myVirtualFile) : null;
|
||||
}
|
||||
|
||||
public boolean contains(VirtualFile file) {
|
||||
return Comparing.equal(myVirtualFile, file);
|
||||
}
|
||||
|
||||
public int compare(VirtualFile file1, VirtualFile file2) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public boolean isSearchInModuleContent(@NotNull Module aModule) {
|
||||
return aModule == myModule;
|
||||
}
|
||||
|
||||
public boolean isSearchInLibraries() {
|
||||
return myModule == null;
|
||||
}
|
||||
}
|
||||
|
||||
private static class FilesScope extends GlobalSearchScope {
|
||||
private final Collection<VirtualFile> myFiles;
|
||||
|
||||
public FilesScope(final Project project, final Collection<VirtualFile> files) {
|
||||
super(project);
|
||||
myFiles = files;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean contains(final VirtualFile file) {
|
||||
return myFiles.contains(file);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compare(final VirtualFile file1, final VirtualFile file2) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSearchInModuleContent(@NotNull Module aModule) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSearchInLibraries() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof FilesScope)) return false;
|
||||
|
||||
return myFiles.equals(((FilesScope)o).myFiles);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return myFiles.hashCode();
|
||||
}
|
||||
}
|
||||
|
||||
private static class FilterScopeAdapter extends GlobalSearchScope {
|
||||
private final NamedScope mySet;
|
||||
private final PsiManager myManager;
|
||||
|
||||
private FilterScopeAdapter(@NotNull Project project, @NotNull NamedScope set) {
|
||||
super(project);
|
||||
mySet = set;
|
||||
myManager = PsiManager.getInstance(project);
|
||||
}
|
||||
|
||||
public boolean contains(VirtualFile file) {
|
||||
NamedScopesHolder holder = NamedScopeManager.getInstance(getProject());
|
||||
final PackageSet packageSet = mySet.getValue();
|
||||
if (packageSet != null) {
|
||||
if (packageSet instanceof PackageSetBase) return ((PackageSetBase)packageSet).contains(file, holder);
|
||||
PsiFile psiFile = myManager.findFile(file);
|
||||
if (psiFile == null) return false;
|
||||
return packageSet.contains(psiFile, holder);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public String getDisplayName() {
|
||||
return mySet.getName();
|
||||
}
|
||||
|
||||
public int compare(VirtualFile file1, VirtualFile file2) {
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
public boolean isSearchInModuleContent(@NotNull Module aModule) {
|
||||
return true; //TODO (optimization?)
|
||||
}
|
||||
|
||||
public boolean isSearchInLibraries() {
|
||||
return true; //TODO (optimization?)
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static GlobalSearchScope getScopeRestrictedByFileTypes (@NotNull GlobalSearchScope scope, final FileType... fileTypes) {
|
||||
LOG.assertTrue(fileTypes.length > 0);
|
||||
|
||||
@@ -0,0 +1,288 @@
|
||||
/*
|
||||
* Copyright 2000-2011 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.psi.search;
|
||||
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.ProjectFileIndex;
|
||||
import com.intellij.openapi.roots.ProjectRootManager;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.vfs.VfsUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiBundle;
|
||||
import com.intellij.psi.PsiDirectory;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiManager;
|
||||
import com.intellij.psi.search.scope.packageSet.*;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* @author yole
|
||||
*/
|
||||
public class GlobalSearchScopes {
|
||||
private GlobalSearchScopes() {
|
||||
}
|
||||
|
||||
public static GlobalSearchScope projectProductionScope(@NotNull Project project) {
|
||||
return new GlobalSearchScope.IntersectionScope(GlobalSearchScope.projectScope(project),
|
||||
new ProductionScopeFilter(project),
|
||||
PsiBundle.message("psi.search.scope.production.files"));
|
||||
}
|
||||
|
||||
public static GlobalSearchScope projectTestScope(@NotNull Project project) {
|
||||
return new GlobalSearchScope.IntersectionScope(GlobalSearchScope.projectScope(project),
|
||||
new TestScopeFilter(project),
|
||||
PsiBundle.message("psi.search.scope.test.files"));
|
||||
}
|
||||
|
||||
public static GlobalSearchScope directoryScope(@NotNull PsiDirectory directory, final boolean withSubdirectories) {
|
||||
return new DirectoryScope(directory, withSubdirectories);
|
||||
}
|
||||
|
||||
public static GlobalSearchScope directoryScope(@NotNull Project project, @NotNull VirtualFile directory, final boolean withSubdirectories) {
|
||||
return new DirectoryScope(project, directory, withSubdirectories);
|
||||
}
|
||||
|
||||
public static GlobalSearchScope fileScope(@NotNull PsiFile psiFile) {
|
||||
return new FileScope(psiFile.getProject(), psiFile.getVirtualFile());
|
||||
}
|
||||
|
||||
public static GlobalSearchScope fileScope(final Project project, final VirtualFile virtualFile) {
|
||||
return new FileScope(project, virtualFile);
|
||||
}
|
||||
|
||||
public static GlobalSearchScope filesScope(final Project project, final Collection<VirtualFile> files) {
|
||||
if (files.isEmpty()) return GlobalSearchScope.EMPTY_SCOPE;
|
||||
return files.size() == 1? fileScope(project, files.iterator().next()) : new FilesScope(project, files);
|
||||
}
|
||||
|
||||
private static class FilterScopeAdapter extends GlobalSearchScope {
|
||||
private final NamedScope mySet;
|
||||
private final PsiManager myManager;
|
||||
|
||||
private FilterScopeAdapter(@NotNull Project project, @NotNull NamedScope set) {
|
||||
super(project);
|
||||
mySet = set;
|
||||
myManager = PsiManager.getInstance(project);
|
||||
}
|
||||
|
||||
public boolean contains(VirtualFile file) {
|
||||
NamedScopesHolder holder = NamedScopeManager.getInstance(getProject());
|
||||
final PackageSet packageSet = mySet.getValue();
|
||||
if (packageSet != null) {
|
||||
if (packageSet instanceof PackageSetBase) return ((PackageSetBase)packageSet).contains(file, holder);
|
||||
PsiFile psiFile = myManager.findFile(file);
|
||||
if (psiFile == null) return false;
|
||||
return packageSet.contains(psiFile, holder);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public String getDisplayName() {
|
||||
return mySet.getName();
|
||||
}
|
||||
|
||||
public int compare(VirtualFile file1, VirtualFile file2) {
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
public boolean isSearchInModuleContent(@NotNull Module aModule) {
|
||||
return true; //TODO (optimization?)
|
||||
}
|
||||
|
||||
public boolean isSearchInLibraries() {
|
||||
return true; //TODO (optimization?)
|
||||
}
|
||||
}
|
||||
|
||||
public static GlobalSearchScope filterScope(@NotNull Project project, @NotNull NamedScope set) {
|
||||
return new FilterScopeAdapter(project, set);
|
||||
}
|
||||
|
||||
private static class ProductionScopeFilter extends GlobalSearchScope {
|
||||
private final ProjectFileIndex myFileIndex;
|
||||
|
||||
private ProductionScopeFilter(@NotNull Project project) {
|
||||
super(project);
|
||||
myFileIndex = ProjectRootManager.getInstance(project).getFileIndex();
|
||||
}
|
||||
|
||||
public boolean contains(VirtualFile file) {
|
||||
return myFileIndex.isInSourceContent(file) && !myFileIndex.isInTestSourceContent(file);
|
||||
}
|
||||
|
||||
public int compare(VirtualFile file1, VirtualFile file2) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public boolean isSearchInModuleContent(@NotNull Module aModule) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isSearchInModuleContent(@NotNull final Module aModule, final boolean testSources) {
|
||||
return !testSources;
|
||||
}
|
||||
|
||||
public boolean isSearchInLibraries() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private static class TestScopeFilter extends GlobalSearchScope {
|
||||
private final ProjectFileIndex myFileIndex;
|
||||
|
||||
private TestScopeFilter(@NotNull Project project) {
|
||||
super(project);
|
||||
myFileIndex = ProjectRootManager.getInstance(project).getFileIndex();
|
||||
}
|
||||
|
||||
public boolean contains(VirtualFile file) {
|
||||
return myFileIndex.isInTestSourceContent(file);
|
||||
}
|
||||
|
||||
public int compare(VirtualFile file1, VirtualFile file2) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public boolean isSearchInModuleContent(@NotNull Module aModule) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isSearchInModuleContent(@NotNull final Module aModule, final boolean testSources) {
|
||||
return testSources;
|
||||
}
|
||||
|
||||
public boolean isSearchInLibraries() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private static class DirectoryScope extends GlobalSearchScope {
|
||||
private final VirtualFile myDirectory;
|
||||
private final boolean myWithSubdirectories;
|
||||
|
||||
private DirectoryScope(@NotNull PsiDirectory directory, final boolean withSubdirectories) {
|
||||
super(directory.getProject());
|
||||
myWithSubdirectories = withSubdirectories;
|
||||
myDirectory = directory.getVirtualFile();
|
||||
}
|
||||
|
||||
private DirectoryScope(@NotNull Project project, @NotNull VirtualFile directory, final boolean withSubdirectories) {
|
||||
super(project);
|
||||
myWithSubdirectories = withSubdirectories;
|
||||
myDirectory = directory;
|
||||
}
|
||||
|
||||
public boolean contains(VirtualFile file) {
|
||||
if (myWithSubdirectories) {
|
||||
return VfsUtil.isAncestor(myDirectory, file, false);
|
||||
}
|
||||
else {
|
||||
return myDirectory.equals(file.getParent());
|
||||
}
|
||||
}
|
||||
|
||||
public int compare(VirtualFile file1, VirtualFile file2) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public boolean isSearchInModuleContent(@NotNull Module aModule) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isSearchInLibraries() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
//noinspection HardCodedStringLiteral
|
||||
return "directory scope: " + myDirectory + "; withSubdirs:"+myWithSubdirectories;
|
||||
}
|
||||
}
|
||||
|
||||
private static class FileScope extends GlobalSearchScope {
|
||||
private final VirtualFile myVirtualFile;
|
||||
private final Module myModule;
|
||||
|
||||
private FileScope(final Project project, final VirtualFile virtualFile) {
|
||||
super(project);
|
||||
myVirtualFile = virtualFile;
|
||||
ProjectFileIndex fileIndex = ProjectRootManager.getInstance(project).getFileIndex();
|
||||
myModule = myVirtualFile != null ? fileIndex.getModuleForFile(myVirtualFile) : null;
|
||||
}
|
||||
|
||||
public boolean contains(VirtualFile file) {
|
||||
return Comparing.equal(myVirtualFile, file);
|
||||
}
|
||||
|
||||
public int compare(VirtualFile file1, VirtualFile file2) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public boolean isSearchInModuleContent(@NotNull Module aModule) {
|
||||
return aModule == myModule;
|
||||
}
|
||||
|
||||
public boolean isSearchInLibraries() {
|
||||
return myModule == null;
|
||||
}
|
||||
}
|
||||
|
||||
private static class FilesScope extends GlobalSearchScope {
|
||||
private final Collection<VirtualFile> myFiles;
|
||||
|
||||
public FilesScope(final Project project, final Collection<VirtualFile> files) {
|
||||
super(project);
|
||||
myFiles = files;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean contains(final VirtualFile file) {
|
||||
return myFiles.contains(file);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compare(final VirtualFile file1, final VirtualFile file2) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSearchInModuleContent(@NotNull Module aModule) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSearchInLibraries() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof FilesScope)) return false;
|
||||
|
||||
return myFiles.equals(((FilesScope)o).myFiles);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return myFiles.hashCode();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -447,7 +447,7 @@ public class FindInProjectUtil {
|
||||
CacheManager cacheManager = ((PsiManagerEx)pm).getCacheManager();
|
||||
SearchScope customScope = findModel.getCustomScope();
|
||||
@NotNull GlobalSearchScope scope = psiDirectory != null
|
||||
? GlobalSearchScope.directoryScope(psiDirectory, true)
|
||||
? GlobalSearchScopes.directoryScope(psiDirectory, true)
|
||||
: module != null
|
||||
? moduleContentScope(module)
|
||||
: customScope instanceof GlobalSearchScope
|
||||
@@ -534,7 +534,7 @@ public class FindInProjectUtil {
|
||||
for (VirtualFile root : contentRoots) {
|
||||
PsiDirectory directory = psiManager.findDirectory(root);
|
||||
if (directory != null) {
|
||||
GlobalSearchScope moduleContent = GlobalSearchScope.directoryScope(directory, true);
|
||||
GlobalSearchScope moduleContent = GlobalSearchScopes.directoryScope(directory, true);
|
||||
result = result == null ? moduleContent : result.uniteWith(moduleContent);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.intellij.psi.PsiDocumentManager;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.GlobalSearchScopes;
|
||||
import com.intellij.psi.search.LocalSearchScope;
|
||||
import com.intellij.psi.search.SearchScope;
|
||||
import com.intellij.psi.search.scope.packageSet.NamedScope;
|
||||
@@ -142,14 +143,14 @@ public abstract class HierarchyTreeStructure extends AbstractTreeStructure {
|
||||
searchScope = new LocalSearchScope(thisClass);
|
||||
}
|
||||
else if (HierarchyBrowserBaseEx.SCOPE_PROJECT.equals(scopeType)) {
|
||||
searchScope = GlobalSearchScope.projectProductionScope(myProject);
|
||||
searchScope = GlobalSearchScopes.projectProductionScope(myProject);
|
||||
}
|
||||
else if (HierarchyBrowserBaseEx.SCOPE_TEST.equals(scopeType)) {
|
||||
searchScope = GlobalSearchScope.projectTestScope(myProject);
|
||||
searchScope = GlobalSearchScopes.projectTestScope(myProject);
|
||||
} else {
|
||||
final NamedScope namedScope = NamedScopesHolder.getScope(myProject, scopeType);
|
||||
if (namedScope != null) {
|
||||
searchScope = GlobalSearchScope.filterScope(myProject, namedScope);
|
||||
searchScope = GlobalSearchScopes.filterScope(myProject, namedScope);
|
||||
}
|
||||
}
|
||||
return searchScope;
|
||||
|
||||
@@ -35,6 +35,7 @@ import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiManager;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.GlobalSearchScopes;
|
||||
import com.intellij.util.*;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -183,12 +184,12 @@ public class PlatformPackageUtil {
|
||||
final ProjectFileIndex fileIndex = ProjectRootManager.getInstance(baseDir.getProject()).getFileIndex();
|
||||
if (fileIndex.isInTestSourceContent(baseDir.getVirtualFile())) {
|
||||
if (skipSourceDirsForBaseTestDirectory) {
|
||||
return scope.intersectWith(GlobalSearchScope.projectTestScope(baseDir.getProject()));
|
||||
return scope.intersectWith(GlobalSearchScopes.projectTestScope(baseDir.getProject()));
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (skipTestDirsForBaseSourceDirectory) {
|
||||
return scope.intersectWith(GlobalSearchScope.projectProductionScope(baseDir.getProject()));
|
||||
return scope.intersectWith(GlobalSearchScopes.projectProductionScope(baseDir.getProject()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,10 +36,7 @@ import com.intellij.psi.PsiDocumentManager;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiWhiteSpace;
|
||||
import com.intellij.psi.search.DelegatingGlobalSearchScope;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.LocalSearchScope;
|
||||
import com.intellij.psi.search.SearchScope;
|
||||
import com.intellij.psi.search.*;
|
||||
import com.intellij.psi.search.scope.packageSet.NamedScope;
|
||||
import com.intellij.psi.search.scope.packageSet.NamedScopeManager;
|
||||
import com.intellij.psi.search.scope.packageSet.NamedScopesHolder;
|
||||
@@ -165,13 +162,13 @@ public class ScopeChooserCombo extends ComboboxWithBrowseButton implements Dispo
|
||||
|
||||
List<NamedScope> changeLists = ChangeListsScopesProvider.getInstance(myProject).getCustomScopes();
|
||||
for (NamedScope changeListScope : changeLists) {
|
||||
model.addElement(new ScopeDescriptor(GlobalSearchScope.filterScope(myProject, changeListScope)));
|
||||
model.addElement(new ScopeDescriptor(GlobalSearchScopes.filterScope(myProject, changeListScope)));
|
||||
}
|
||||
final NamedScopesHolder[] holders = NamedScopesHolder.getAllNamedScopeHolders(myProject);
|
||||
for (NamedScopesHolder holder : holders) {
|
||||
NamedScope[] scopes = holder.getEditableScopes(); //predefined scopes already included
|
||||
for (NamedScope scope : scopes) {
|
||||
model.addElement(new ScopeDescriptor(GlobalSearchScope.filterScope(myProject, scope)));
|
||||
model.addElement(new ScopeDescriptor(GlobalSearchScopes.filterScope(myProject, scope)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -201,8 +198,8 @@ public class ScopeChooserCombo extends ComboboxWithBrowseButton implements Dispo
|
||||
if (suggestSearchInLibs) {
|
||||
result.add(GlobalSearchScope.allScope(project));
|
||||
}
|
||||
result.add(GlobalSearchScope.projectProductionScope(project));
|
||||
result.add(GlobalSearchScope.projectTestScope(project));
|
||||
result.add(GlobalSearchScopes.projectProductionScope(project));
|
||||
result.add(GlobalSearchScopes.projectTestScope(project));
|
||||
|
||||
if (dataContext != null) {
|
||||
PsiElement dataContextElement = getDataContextElement(dataContext);
|
||||
@@ -350,7 +347,7 @@ public class ScopeChooserCombo extends ComboboxWithBrowseButton implements Dispo
|
||||
final VirtualFile[] files = PlatformDataKeys.VIRTUAL_FILE_ARRAY.getData(dataContext);
|
||||
if (files != null) {
|
||||
final List<VirtualFile> openFiles = Arrays.asList(files);
|
||||
result.add(new DelegatingGlobalSearchScope(GlobalSearchScope.filesScope(project, openFiles)){
|
||||
result.add(new DelegatingGlobalSearchScope(GlobalSearchScopes.filesScope(project, openFiles)){
|
||||
@Override
|
||||
public String getDisplayName() {
|
||||
return "Selected files";
|
||||
|
||||
+2
-1
@@ -36,6 +36,7 @@ import com.intellij.psi.impl.cache.impl.id.IdIndexEntry;
|
||||
import com.intellij.psi.impl.cache.impl.todo.TodoIndex;
|
||||
import com.intellij.psi.impl.cache.impl.todo.TodoIndexEntry;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.GlobalSearchScopes;
|
||||
import com.intellij.psi.search.IndexPattern;
|
||||
import com.intellij.psi.search.IndexPatternProvider;
|
||||
import com.intellij.psi.util.PsiUtilBase;
|
||||
@@ -188,7 +189,7 @@ public class IndexCacheManagerImpl implements CacheManager{
|
||||
count[0] += value.intValue();
|
||||
return true;
|
||||
}
|
||||
}, GlobalSearchScope.fileScope(myProject, file));
|
||||
}, GlobalSearchScopes.fileScope(myProject, file));
|
||||
return count[0];
|
||||
}
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@ import com.intellij.psi.impl.smartPointers.SmartPointerManagerImpl;
|
||||
import com.intellij.psi.impl.source.PsiFileImpl;
|
||||
import com.intellij.psi.impl.source.resolve.FileContextUtil;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.GlobalSearchScopes;
|
||||
import com.intellij.psi.search.SearchScope;
|
||||
import com.intellij.util.ConcurrencyUtil;
|
||||
import com.intellij.util.FileContentUtil;
|
||||
@@ -480,7 +481,7 @@ public class FileManagerImpl implements FileManager {
|
||||
final VirtualFile vf = f == null ? null : f.getVirtualFile();
|
||||
|
||||
return f == null || vf == null || vf.isDirectory() || allScope.contains(vf)
|
||||
? allScope : GlobalSearchScope.fileScope(f).uniteWith(allScope);
|
||||
? allScope : GlobalSearchScopes.fileScope(f).uniteWith(allScope);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ import com.intellij.openapi.fileEditor.FileDocumentManager;
|
||||
import com.intellij.openapi.project.DumbService;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.GlobalSearchScopes;
|
||||
import com.intellij.util.indexing.FileBasedIndex;
|
||||
import com.intellij.util.indexing.FileContent;
|
||||
import com.intellij.util.indexing.FileContentImpl;
|
||||
@@ -133,7 +133,8 @@ public class StubTree {
|
||||
|
||||
final int id = Math.abs(FileBasedIndex.getFileId(vFile));
|
||||
if (id > 0) {
|
||||
final List<SerializedStubTree> datas = FileBasedIndex.getInstance().getValues(StubUpdatingIndex.INDEX_ID, id, GlobalSearchScope.fileScope(project, vFile));
|
||||
final List<SerializedStubTree> datas = FileBasedIndex.getInstance().getValues(StubUpdatingIndex.INDEX_ID, id, GlobalSearchScopes
|
||||
.fileScope(project, vFile));
|
||||
final int size = datas.size();
|
||||
|
||||
if (size == 1) {
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@
|
||||
package com.siyeh.ig.maturity;
|
||||
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.GlobalSearchScopes;
|
||||
import com.intellij.psi.search.searches.ReferencesSearch;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.util.Query;
|
||||
@@ -150,7 +150,7 @@ public class ObsoleteCollectionInspection extends BaseInspection {
|
||||
final PsiFile containingFile = namedElement.getContainingFile();
|
||||
final Query<PsiReference> query =
|
||||
ReferencesSearch.search(namedElement,
|
||||
GlobalSearchScope.fileScope(containingFile));
|
||||
GlobalSearchScopes.fileScope(containingFile));
|
||||
for (PsiReference reference : query) {
|
||||
final PsiElement element = reference.getElement();
|
||||
if (isRequiredObsoleteCollectionElement(element)) {
|
||||
|
||||
+3
-2
@@ -201,7 +201,8 @@ public class GroovyConstructorUsagesSearcher extends QueryExecutorBase<PsiRefere
|
||||
|
||||
if (gppScope instanceof GlobalSearchScope) {
|
||||
String name = currentTarget.getName();
|
||||
if (PsiSearchHelper.SERVICE.getInstance(currentTarget.getProject()).isCheapEnoughToSearch(name, (GlobalSearchScope)gppScope, null, null) ==
|
||||
if (PsiSearchHelper.SERVICE.getInstance(currentTarget.getProject()).isCheapEnoughToSearch(name, (GlobalSearchScope)gppScope, null,
|
||||
null) ==
|
||||
PsiSearchHelper.SearchCostResult.ZERO_OCCURRENCES) {
|
||||
return;
|
||||
}
|
||||
@@ -350,7 +351,7 @@ public class GroovyConstructorUsagesSearcher extends QueryExecutorBase<PsiRefere
|
||||
}
|
||||
});
|
||||
|
||||
GlobalSearchScope withTypedAnno = GlobalSearchScope.filesScope(project, files);
|
||||
GlobalSearchScope withTypedAnno = GlobalSearchScopes.filesScope(project, files);
|
||||
return withTypedAnno.union(gppExtensions);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,6 @@ import com.intellij.execution.ExecutionBundle;
|
||||
import com.intellij.execution.configurations.*;
|
||||
import com.intellij.execution.testframework.SourceScope;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleUtil;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.projectRoots.JavaSdk;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
@@ -28,9 +27,9 @@ import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.GlobalSearchScopes;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* User: anna
|
||||
@@ -51,7 +50,8 @@ class TestDirectory extends TestPackage {
|
||||
public SourceScope getSourceScope() {
|
||||
final String dirName = myConfiguration.getPersistentData().getDirName();
|
||||
final VirtualFile file = LocalFileSystem.getInstance().findFileByPath(FileUtil.toSystemIndependentName(dirName));
|
||||
final GlobalSearchScope globalSearchScope = file == null ? GlobalSearchScope.EMPTY_SCOPE : GlobalSearchScope.directoryScope(myProject, file, true);
|
||||
final GlobalSearchScope globalSearchScope = file == null ? GlobalSearchScope.EMPTY_SCOPE : GlobalSearchScopes
|
||||
.directoryScope(myProject, file, true);
|
||||
return new SourceScope() {
|
||||
@Override
|
||||
public GlobalSearchScope getGlobalSearchScope() {
|
||||
|
||||
+2
-1
@@ -39,6 +39,7 @@ import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.impl.search.LowLevelSearchUtil;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.search.GlobalSearchScopes;
|
||||
import com.intellij.psi.search.PsiSearchHelper;
|
||||
import com.intellij.util.CommonProcessors;
|
||||
import com.intellij.util.Processor;
|
||||
@@ -152,7 +153,7 @@ public class DuplicatePropertyInspection extends GlobalSimpleInspectionTool {
|
||||
Module module = ModuleUtil.findModuleForPsiElement(file);
|
||||
if (module == null) return;
|
||||
final GlobalSearchScope scope = CURRENT_FILE
|
||||
? GlobalSearchScope.fileScope(file)
|
||||
? GlobalSearchScopes.fileScope(file)
|
||||
: MODULE_WITH_DEPENDENCIES
|
||||
? GlobalSearchScope.moduleWithDependenciesScope(module)
|
||||
: GlobalSearchScope.projectScope(file.getProject());
|
||||
|
||||
Reference in New Issue
Block a user