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 31bce6828de3..9b8a3e908bf1 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 @@ -2958,7 +2958,7 @@ public final class HighlightUtil { PsiElement refParent = ref.getParent(); - if (isCallToStaticMember(refParent)) { + if (!(resolved instanceof PsiClass) && isCallToStaticMember(refParent)) { final String text = JavaErrorBundle.message("cannot.resolve.symbol", refName.getText()); final HighlightInfo info = HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(ref).descriptionAndTooltip(text).create(); QuickFixAction.registerQuickFixAction(info, new RemoveNewKeywordFix(refParent)); @@ -3000,6 +3000,12 @@ public final class HighlightUtil { } else { description = JavaErrorBundle.message("cannot.resolve.symbol", refName.getText()); + if (isCallToStaticMember(refParent)) { + final String text = JavaErrorBundle.message("cannot.resolve.symbol", refName.getText()); + final HighlightInfo info = HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(ref).descriptionAndTooltip(text).create(); + QuickFixAction.registerQuickFixAction(info, new RemoveNewKeywordFix(refParent)); + return info; + } } HighlightInfo info = diff --git a/java/java-tests/testData/codeInsight/highlight/remove_new/beforeClassMethodSameName.java b/java/java-tests/testData/codeInsight/highlight/remove_new/beforeClassMethodSameName.java new file mode 100644 index 000000000000..aa22aeb7cef5 --- /dev/null +++ b/java/java-tests/testData/codeInsight/highlight/remove_new/beforeClassMethodSameName.java @@ -0,0 +1,8 @@ +// "Remove 'new'" "false" + +class A { + class B {} + B B() { + return new A.B(); + } +}