From 2aaf87532dfc737dfccc73a110047bb5bdfe311b Mon Sep 17 00:00:00 2001 From: Alexander Kass Date: Mon, 9 Dec 2019 16:32:10 +0300 Subject: [PATCH] make sql plus dialect of oracle GitOrigin-RevId: 472f35203eb362ff0400bc85dc3b50d3bf326979 --- .../codeInspection/InspectionEngine.java | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/platform/analysis-impl/src/com/intellij/codeInspection/InspectionEngine.java b/platform/analysis-impl/src/com/intellij/codeInspection/InspectionEngine.java index ded2e0a28f1d..aec949e8c9c7 100644 --- a/platform/analysis-impl/src/com/intellij/codeInspection/InspectionEngine.java +++ b/platform/analysis-impl/src/com/intellij/codeInspection/InspectionEngine.java @@ -299,13 +299,18 @@ public class InspectionEngine { Set result = applyToDialects && !dialects.isEmpty() ? new THashSet<>(1 + dialects.size()) : new SmartHashSet<>(); result.add(language.getID()); if (applyToDialects) { - for (Language dialect : dialects) { - result.add(dialect.getID()); - } + addDialects(language, result); } return result; } + private static void addDialects(@NotNull Language language, @NotNull Set result) { + for (Language dialect : language.getDialects()) { + result.add(dialect.getID()); + addDialects(dialect, result); + } + } + @NotNull public static Set calcElementDialectIds(@NotNull List inside, @NotNull List outside) { Set dialectIds = new SmartHashSet<>(); @@ -329,10 +334,17 @@ public class InspectionEngine { for (PsiElement element : elements) { Language language = element.getLanguage(); outDialectIds.add(language.getID()); - if (outProcessedLanguages.add(language)) { - for (Language dialect : language.getDialects()) { - outDialectIds.add(dialect.getID()); - } + addDialects(language, outProcessedLanguages, outDialectIds); + } + } + + private static void addDialects(@NotNull Language language, + @NotNull Set outProcessedLanguages, + @NotNull Set outDialectIds) { + if (outProcessedLanguages.add(language)) { + for (Language dialect : language.getDialects()) { + outDialectIds.add(dialect.getID()); + addDialects(dialect, outProcessedLanguages, outDialectIds); } } }