diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightMethodUtil.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightMethodUtil.java index 9bda079a5260..8c1c539d010b 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightMethodUtil.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightMethodUtil.java @@ -806,10 +806,12 @@ public class HighlightMethodUtil { if (aClass != null) { String className = aClass instanceof PsiAnonymousClass ? null : aClass.getName(); - if (className != null && !Comparing.strEqual(methodName, className)) { + if (className == null || !Comparing.strEqual(methodName, className)) { errorResult = HighlightInfo.createHighlightInfo(HighlightInfoType.ERROR, method.getNameIdentifier(), JavaErrorMessages.message("missing.return.type")); - QuickFixAction.registerQuickFixAction(errorResult, new RenameElementFix(method, className)); + if (className != null) { + QuickFixAction.registerQuickFixAction(errorResult, new RenameElementFix(method, className)); + } } } return errorResult; diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/InvalidExpressions.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/InvalidExpressions.java index 91315f1707f3..79ab2bdd2748 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/InvalidExpressions.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/InvalidExpressions.java @@ -99,6 +99,12 @@ public class a12 { public foo() { } + { + new Object() { + Object() {} + }; + } + // do not warn about illegal type in incomplete declarations (http://www.intellij.net/tracker/idea/viewSCR?publicId=9586) void foo }