mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Use more efficient file type checks in JavaSourceFilterScope
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
package com.intellij.psi.impl.search;
|
||||
|
||||
import com.intellij.ide.highlighter.JavaClassFileType;
|
||||
import com.intellij.openapi.fileTypes.FileTypeRegistry;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.ProjectFileIndex;
|
||||
import com.intellij.openapi.roots.ProjectRootManager;
|
||||
@@ -59,7 +60,7 @@ public class JavaSourceFilterScope extends DelegatingGlobalSearchScope {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (JavaClassFileType.INSTANCE == file.getFileType()) {
|
||||
if (FileTypeRegistry.getInstance().isFileOfType(file, JavaClassFileType.INSTANCE)) {
|
||||
return myIndex.isInLibraryClasses(file) && (myIncludeVersions || !isVersioned(file, myIndex));
|
||||
}
|
||||
|
||||
|
||||
@@ -31,6 +31,8 @@ public abstract class FileTypeRegistry {
|
||||
|
||||
public abstract boolean isFileIgnored(@NotNull VirtualFile file);
|
||||
|
||||
public abstract boolean isFileOfType(@NotNull VirtualFile file, @NotNull FileType type);
|
||||
|
||||
public static FileTypeRegistry getInstance() {
|
||||
return ourInstanceGetter.get();
|
||||
}
|
||||
|
||||
@@ -72,6 +72,11 @@ public class CoreFileTypeRegistry extends FileTypeRegistry {
|
||||
return getFileTypeByExtension(extension);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFileOfType(@NotNull VirtualFile file, @NotNull FileType type) {
|
||||
return getFileTypeByFile(file) == type;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public FileType getFileTypeByExtension(@NonNls @NotNull String extension) {
|
||||
|
||||
@@ -104,8 +104,6 @@ public abstract class FileTypeManager extends FileTypeRegistry {
|
||||
@NotNull
|
||||
public abstract List<FileNameMatcher> getAssociations(@NotNull FileType type);
|
||||
|
||||
public abstract boolean isFileOfType(@NotNull VirtualFile file, @NotNull FileType type);
|
||||
|
||||
/**
|
||||
* Adds a listener for receiving notifications about changes in the list of
|
||||
* registered file types.
|
||||
|
||||
Reference in New Issue
Block a user