From 8f4a7ee0d0117d2291fcf4c0e28774798969af22 Mon Sep 17 00:00:00 2001 From: anna Date: Wed, 13 Apr 2011 16:19:42 +0200 Subject: [PATCH] interface 'overrides' object: methods with same erasure should be accepted (IDEA-67752) --- .../daemon/impl/analysis/GenericsHighlightUtil.java | 1 + .../genericsHighlighting/OverridingMethods.java | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/GenericsHighlightUtil.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/GenericsHighlightUtil.java index 56e043cded6d..7237257c613a 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/GenericsHighlightUtil.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/GenericsHighlightUtil.java @@ -493,6 +493,7 @@ public class GenericsHighlightUtil { if (!checkEqualsSuper && MethodSignatureUtil.isSubsignature(superSignature, signatureToCheck)) { return null; } + if (superContainingClass != null && !superContainingClass.isInterface() && checkContainingClass.isInterface() && !aClass.equals(superContainingClass)) return null; if (aClass.equals(checkContainingClass)) { boolean sameClass = aClass.equals(superContainingClass); return getSameErasureMessage(sameClass, checkMethod, superMethod, HighlightNamesUtil.getMethodDeclarationTextRange(checkMethod)); diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/OverridingMethods.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/OverridingMethods.java index 45318c41832c..04d2fe24e249 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/OverridingMethods.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/OverridingMethods.java @@ -510,4 +510,8 @@ class sOk implements C { } } +} + +interface OverrideObject { + void notify(); } \ No newline at end of file