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

This commit is contained in:
Ivan Bessonov
2016-09-19 18:32:30 +03:00
parent 89dd4741ac
commit c9556dc6fb
2 changed files with 6 additions and 16 deletions
@@ -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;
}
}
@@ -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<JavaLanguageLevelInconsistencyMessageHandler> 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);
}