mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
inspection optimization: reuse the meta-language matching languages cache
GitOrigin-RevId: 89e3c3a780cfb95d2ae0434d955b94ca1d5f443b
This commit is contained in:
committed by
intellij-monorepo-bot
parent
2da4d92224
commit
4ba35f1c46
@@ -69,20 +69,19 @@ public final class ToolLanguageUtil {
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean isToolLanguageOneOf(@NotNull Set<String> elementDialectIds, @NotNull String languageId, boolean applyToDialects) {
|
||||
if (elementDialectIds.contains(languageId)) {
|
||||
public static boolean isToolLanguageOneOf(@NotNull Set<String> elementDialectIds, @NotNull String toolLanguageId, boolean applyToDialects) {
|
||||
if (elementDialectIds.contains(toolLanguageId)) {
|
||||
return true;
|
||||
}
|
||||
Language language = Language.findLanguageByID(languageId);
|
||||
Language language = Language.findLanguageByID(toolLanguageId);
|
||||
if (language == null) {
|
||||
// unknown language in plugin.xml, ignore
|
||||
return false;
|
||||
}
|
||||
|
||||
if (language instanceof MetaLanguage) {
|
||||
return !ContainerUtil.process(Language.getRegisteredLanguages(), registeredLanguage ->
|
||||
!((MetaLanguage)language).matchesLanguage(registeredLanguage)
|
||||
|| !existsDialectOneOf(elementDialectIds, registeredLanguage, applyToDialects));
|
||||
if (language instanceof MetaLanguage metaLanguage) {
|
||||
return ContainerUtil.exists(metaLanguage.getMatchingLanguages(), registeredLanguage ->
|
||||
existsDialectOneOf(elementDialectIds, registeredLanguage, applyToDialects));
|
||||
}
|
||||
return existsDialectOneOf(elementDialectIds, language, applyToDialects);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user