From 0846c6a71b370c1634344b736ecbca65a26ea998 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Thu, 26 Jan 2017 18:56:06 +0300 Subject: [PATCH] java 9: register increase language level fix for diamond over anonymous class --- .../daemon/impl/analysis/GenericsHighlightUtil.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/GenericsHighlightUtil.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/GenericsHighlightUtil.java index 8ad8847cf391..314f376c8b79 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/GenericsHighlightUtil.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/GenericsHighlightUtil.java @@ -126,8 +126,13 @@ public class GenericsHighlightUtil { if (errorMessage != null) { final PsiType expectedType = detectExpectedType(referenceParameterList); if (!(inferenceResult.failedToInfer() && expectedType instanceof PsiClassType && ((PsiClassType)expectedType).isRaw())) { - return HighlightInfo + HighlightInfo highlightInfo = HighlightInfo .newHighlightInfo(HighlightInfoType.ERROR).range(referenceParameterList).descriptionAndTooltip(errorMessage).create(); + if (inferenceResult == PsiDiamondType.DiamondInferenceResult.ANONYMOUS_INNER_RESULT && + !PsiUtil.isLanguageLevel9OrHigher(referenceParameterList)) { + QuickFixAction.registerQuickFixAction(highlightInfo, QUICK_FIX_FACTORY.createIncreaseLanguageLevelFix(LanguageLevel.JDK_1_9)); + } + return highlightInfo; } } }