From c9556dc6fb175a58b7f084ecf23488ea7d7d0568 Mon Sep 17 00:00:00 2001 From: Ivan Bessonov Date: Mon, 19 Sep 2016 18:31:59 +0300 Subject: [PATCH] IDEA-CR-13930 fix of review remarks according to the discussion - "accept" method of message handler removed, common checks lifted up from gwt message handler to the HighlightUtil --- .../daemon/impl/analysis/HighlightUtil.java | 11 ++++------- .../JavaLanguageLevelInconsistencyMessageHandler.java | 11 ++--------- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java index 2ede11c7fac3..2fdc704c3eb8 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java @@ -2988,10 +2988,6 @@ public class HighlightUtil extends HighlightUtilBase { this.level = level; this.key = key; } - - public LanguageLevel getMinimalSupportedLanguageLevel() { - return level; - } } @Nullable @@ -3005,10 +3001,11 @@ public class HighlightUtil extends HighlightUtilBase { Module module = ModuleUtilCore.findModuleForPsiElement(element); if (module != null) { LanguageLevel moduleLanguageLevel = EffectiveLanguageLevelUtil.getEffectiveLanguageLevel(module); - if (level != moduleLanguageLevel) { + if (moduleLanguageLevel.isAtLeast(feature.level)) { for (JavaLanguageLevelInconsistencyMessageHandler handler : JavaLanguageLevelInconsistencyMessageHandler.EP_NAME.getExtensions()) { - if (handler.accepts(element, feature, level, moduleLanguageLevel, file)) { - message = handler.getNewMessage(message, element, feature, level, moduleLanguageLevel, file); + String newMessage = handler.getNewMessage(message, element, level, file); + if (newMessage != null) { + message = newMessage; break; } } diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/JavaLanguageLevelInconsistencyMessageHandler.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/JavaLanguageLevelInconsistencyMessageHandler.java index df95a77f3c49..4f321ad07a30 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/JavaLanguageLevelInconsistencyMessageHandler.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/JavaLanguageLevelInconsistencyMessageHandler.java @@ -20,6 +20,7 @@ import com.intellij.pom.java.LanguageLevel; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; /** * @author ibessonov @@ -29,17 +30,9 @@ public interface JavaLanguageLevelInconsistencyMessageHandler { ExtensionPointName EP_NAME = ExtensionPointName.create("com.intellij.javaLanguageLevelInconsistencyMessageHandler"); - boolean accepts(@NotNull PsiElement element, - @NotNull HighlightUtil.Feature feature, - @NotNull LanguageLevel level, - @NotNull LanguageLevel moduleLevel, - @NotNull PsiFile file); - - @NotNull + @Nullable String getNewMessage(@NotNull String message, @NotNull PsiElement element, - @NotNull HighlightUtil.Feature feature, @NotNull LanguageLevel level, - @NotNull LanguageLevel moduleLevel, @NotNull PsiFile file); }