diff --git a/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaSourceFilterScope.java b/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaSourceFilterScope.java index 16318184bd5a..605f44a8f20d 100644 --- a/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaSourceFilterScope.java +++ b/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaSourceFilterScope.java @@ -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)); } diff --git a/platform/core-api/src/com/intellij/openapi/fileTypes/FileTypeRegistry.java b/platform/core-api/src/com/intellij/openapi/fileTypes/FileTypeRegistry.java index 510eb21a68d4..67231e285022 100644 --- a/platform/core-api/src/com/intellij/openapi/fileTypes/FileTypeRegistry.java +++ b/platform/core-api/src/com/intellij/openapi/fileTypes/FileTypeRegistry.java @@ -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(); } diff --git a/platform/core-impl/src/com/intellij/core/CoreFileTypeRegistry.java b/platform/core-impl/src/com/intellij/core/CoreFileTypeRegistry.java index 26349e18d55b..d226f251908c 100644 --- a/platform/core-impl/src/com/intellij/core/CoreFileTypeRegistry.java +++ b/platform/core-impl/src/com/intellij/core/CoreFileTypeRegistry.java @@ -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) { diff --git a/platform/platform-api/src/com/intellij/openapi/fileTypes/FileTypeManager.java b/platform/platform-api/src/com/intellij/openapi/fileTypes/FileTypeManager.java index 0791b837820e..a1cc0e120f34 100644 --- a/platform/platform-api/src/com/intellij/openapi/fileTypes/FileTypeManager.java +++ b/platform/platform-api/src/com/intellij/openapi/fileTypes/FileTypeManager.java @@ -104,8 +104,6 @@ public abstract class FileTypeManager extends FileTypeRegistry { @NotNull public abstract List 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.