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.GlobalSearchScopes;
+import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.util.indexing.*;
import com.intellij.util.io.DataExternalizer;
import org.intellij.images.fileTypes.ImageFileTypeManager;
}
public static void processValues(VirtualFile virtualFile, FileBasedIndex.ValueProcessor<ImageInfo> processor, Project project) {
- FileBasedIndex.getInstance().processValues(INDEX_ID, Math.abs(FileBasedIndex.getFileId(virtualFile)), virtualFile, processor, GlobalSearchScopes
+ FileBasedIndex.getInstance().processValues(INDEX_ID, Math.abs(FileBasedIndex.getFileId(virtualFile)), virtualFile, processor, GlobalSearchScope
.fileScope(project, virtualFile));
}
import com.intellij.psi.FileViewProvider;
import com.intellij.psi.impl.java.stubs.JavaStubElementTypes;
import com.intellij.psi.search.GlobalSearchScope;
-import com.intellij.psi.search.GlobalSearchScopes;
import com.intellij.testFramework.LightVirtualFile;
import org.jetbrains.annotations.NotNull;
if (file != null && !(file instanceof LightVirtualFile)) {
final FileIndexFacade index = ServiceManager.getService(getProject(), FileIndexFacade.class);
if (!index.isInSource(file) && !index.isInLibraryClasses(file)) {
- return GlobalSearchScopes.fileScope(this);
+ return GlobalSearchScope.fileScope(this);
}
}
return super.getResolveScope();
import com.intellij.openapi.util.Disposer;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.*;
-import com.intellij.psi.search.GlobalSearchScopes;
+import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.search.searches.ReferencesSearch;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.util.PsiUtil;
if (VisibilityUtil.compare(VisibilityUtil.getVisibilityModifier(modifierList), PsiModifier.PRIVATE) < 0) return null;
}
- for (PsiReference reference : ReferencesSearch.search(root, GlobalSearchScopes.fileScope(root.getContainingFile()))) {
+ for (PsiReference reference : ReferencesSearch.search(root, GlobalSearchScope.fileScope(root.getContainingFile()))) {
final PsiElement element = reference.getElement();
final PsiExpression expr = PsiTreeUtil.getParentOfType(element, PsiExpression.class, false);
if (expr != null) {
*/
package com.intellij.openapi.roots;
+import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
+import org.jetbrains.annotations.Nullable;
/**
* @author yole
public abstract boolean isInLibraryClasses(VirtualFile file);
public abstract boolean isExcludedFile(VirtualFile file);
+ @Nullable
+ public abstract Module getModuleForFile(VirtualFile file);
+
/**
* Checks if <code>file</code> is an ancestor of <code>baseDir</code> and none of the files
* between them are excluded from the project.
*/
package com.intellij.psi.search;
+import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.fileTypes.FileType;
import com.intellij.openapi.fileTypes.FileTypeRegistry;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.Project;
+import com.intellij.openapi.roots.FileIndexFacade;
+import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiBundle;
import com.intellij.psi.PsiElement;
+import com.intellij.psi.PsiFile;
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 {
return module.getModuleWithDependentsScope();
}
+ 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);
+ }
+
static class IntersectionScope extends GlobalSearchScope {
private final GlobalSearchScope myScope1;
private final GlobalSearchScope myScope2;
}
public static final GlobalSearchScope EMPTY_SCOPE = new EmptyScope();
+
+ 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;
+ FileIndexFacade fileIndex = ServiceManager.getService(project, FileIndexFacade.class);
+ 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();
+ }
+ }
}
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.VfsUtilCore;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiBundle;
import com.intellij.psi.search.scope.packageSet.*;
import org.jetbrains.annotations.NotNull;
-import java.util.Collection;
-
/**
* @author yole
*/
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;
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();
- }
- }
}
final VirtualFile[] files = PlatformDataKeys.VIRTUAL_FILE_ARRAY.getData(dataContext);
if (files != null) {
final List<VirtualFile> openFiles = Arrays.asList(files);
- result.add(new DelegatingGlobalSearchScope(GlobalSearchScopes.filesScope(project, openFiles)){
+ result.add(new DelegatingGlobalSearchScope(GlobalSearchScope.filesScope(project, openFiles)){
@Override
public String getDisplayName() {
return "Selected files";
package com.intellij.openapi.vcs.impl;
+import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.FileIndexFacade;
import com.intellij.openapi.roots.ProjectRootManager;
import com.intellij.openapi.roots.impl.DirectoryIndex;
import com.intellij.openapi.vfs.VirtualFile;
+import org.jetbrains.annotations.Nullable;
/**
* @author yole
return myRootManager.getFileIndex().isIgnored(file);
}
+ @Nullable
+ @Override
+ public Module getModuleForFile(VirtualFile file) {
+ return myRootManager.getFileIndex().getModuleForFile(file);
+ }
+
public boolean isValidAncestor(final VirtualFile baseDir, VirtualFile childDir) {
if (!childDir.isDirectory()) {
childDir = childDir.getParent();
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.PsiUtilCore;
count[0] += value.intValue();
return true;
}
- }, GlobalSearchScopes.fileScope(myProject, file));
+ }, GlobalSearchScope.fileScope(myProject, file));
return count[0];
}
}
import com.intellij.psi.impl.ResolveScopeManager;
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.containers.ConcurrentFactoryMap;
import org.jetbrains.annotations.NotNull;
final VirtualFile vf = f == null ? null : f.getVirtualFile();
return f == null || vf == null || vf.isDirectory() || allScope.contains(vf)
- ? allScope : GlobalSearchScopes.fileScope(f).uniteWith(allScope);
+ ? allScope : GlobalSearchScope.fileScope(f).uniteWith(allScope);
}
}
}
import com.intellij.openapi.project.DumbService;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
-import com.intellij.psi.search.GlobalSearchScopes;
+import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.util.indexing.FileBasedIndex;
import com.intellij.util.indexing.FileContent;
import com.intellij.util.indexing.FileContentImpl;
final int id = Math.abs(FileBasedIndex.getFileId(vFile));
if (id > 0) {
- final List<SerializedStubTree> datas = FileBasedIndex.getInstance().getValues(StubUpdatingIndex.INDEX_ID, id, GlobalSearchScopes
+ final List<SerializedStubTree> datas = FileBasedIndex.getInstance().getValues(StubUpdatingIndex.INDEX_ID, id, GlobalSearchScope
.fileScope(project, vFile));
final int size = datas.size();
*/
package com.intellij.openapi.vcs.impl;
+import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.FileIndexFacade;
import com.intellij.openapi.vfs.VfsUtil;
return false;
}
+ @Override
+ public Module getModuleForFile(VirtualFile file) {
+ return null;
+ }
+
public boolean isValidAncestor(final VirtualFile baseDir, final VirtualFile childDir) {
return VfsUtil.isAncestor(baseDir, childDir, false);
}
package com.siyeh.ig.maturity;
import com.intellij.psi.*;
-import com.intellij.psi.search.GlobalSearchScopes;
+import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.search.searches.ReferencesSearch;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.util.Query;
final PsiFile containingFile = namedElement.getContainingFile();
final Query<PsiReference> query =
ReferencesSearch.search(namedElement,
- GlobalSearchScopes.fileScope(containingFile));
+ GlobalSearchScope.fileScope(containingFile));
for (PsiReference reference : query) {
final PsiElement element = reference.getElement();
if (isRequiredObsoleteCollectionElement(element)) {
}
});
- GlobalSearchScope withTypedAnno = GlobalSearchScopes.filesScope(project, files);
+ GlobalSearchScope withTypedAnno = GlobalSearchScope.filesScope(project, files);
return withTypedAnno.union(gppExtensions);
}
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;
Module module = ModuleUtil.findModuleForPsiElement(file);
if (module == null) return;
final GlobalSearchScope scope = CURRENT_FILE
- ? GlobalSearchScopes.fileScope(file)
+ ? GlobalSearchScope.fileScope(file)
: MODULE_WITH_DEPENDENCIES
? GlobalSearchScope.moduleWithDependenciesScope(module)
: GlobalSearchScope.projectScope(file.getProject());