diff --git a/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureUtil.java b/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureUtil.java index 8692a22de0b1..077dc8019fa3 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureUtil.java +++ b/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureUtil.java @@ -379,7 +379,7 @@ public class MethodSignatureUtil { final PsiType[] superParameterTypes = superSignature.getParameterTypes(); for (int i = 0; i < subParameterTypes.length; i++) { PsiType type1 = subParameterTypes[i]; - PsiType type2 = TypeConversionUtil.erasure(superParameterTypes[i]); + PsiType type2 = TypeConversionUtil.erasure(superParameterTypes[i], superSignature.getSubstitutor()); if (!Comparing.equal(type1, type2)) return false; } return true; diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA57391.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA57391.java new file mode 100644 index 000000000000..664b7c7d9068 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA57391.java @@ -0,0 +1,7 @@ +abstract class B { + abstract void foo(T x, S y); +} + +class A extends B { + void foo(String x, String y) {} +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/GenericsHighlightingTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/GenericsHighlightingTest.java index e0baa7fc2a4c..268c9651a5ad 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/GenericsHighlightingTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/GenericsHighlightingTest.java @@ -299,6 +299,7 @@ public class GenericsHighlightingTest extends LightDaemonAnalyzerTestCase { public void testIDEA67835() { doTest5(false); } public void testIDEA67744() { doTest5(false); } public void testIDEA67682() { doTest5(false); } + public void testIDEA57391() { doTest5(false); } public void testJavaUtilCollections_NoVerify() throws Exception { PsiClass collectionsClass = getJavaFacade().findClass("java.util.Collections", GlobalSearchScope.moduleWithLibrariesScope(getModule()));