diff --git a/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaFilesSearchScope.java b/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaFilesSearchScope.java index fb90279ce293..bddabfccaa50 100644 --- a/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaFilesSearchScope.java +++ b/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaFilesSearchScope.java @@ -34,6 +34,6 @@ public class JavaFilesSearchScope extends GlobalSearchScope { if (file.isDirectory()) return false; FileViewProvider viewProvider = myPsiManager.findViewProvider(file); - return viewProvider != null && viewProvider.getLanguages().contains(JavaLanguage.INSTANCE); + return viewProvider != null && viewProvider.hasLanguage(JavaLanguage.INSTANCE); } } diff --git a/platform/core-api/src/com/intellij/psi/FileViewProvider.java b/platform/core-api/src/com/intellij/psi/FileViewProvider.java index dc20cfe53a79..661b57bef84b 100644 --- a/platform/core-api/src/com/intellij/psi/FileViewProvider.java +++ b/platform/core-api/src/com/intellij/psi/FileViewProvider.java @@ -89,6 +89,14 @@ public interface FileViewProvider extends Cloneable, UserDataHolderEx { @NotNull Set getLanguages(); + /** + * Check if given language is supported. + * Implementations may provide more effective way to check without getting all languages. + */ + default boolean hasLanguage(@NotNull Language language) { + return getLanguages().contains(language); + } + /** * @param target target language * @return PsiFile for given language, or {@code null} if the language not present