diff --git a/java/java-psi-api/src/com/intellij/psi/util/TypesDistinctProver.java b/java/java-psi-api/src/com/intellij/psi/util/TypesDistinctProver.java index b76bed85ed14..e1ad149a4b0f 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/TypesDistinctProver.java +++ b/java/java-psi-api/src/com/intellij/psi/util/TypesDistinctProver.java @@ -135,7 +135,6 @@ public class TypesDistinctProver { if (type1 instanceof PsiClassType && ((PsiClassType)type1).hasParameters()) return true; } else { if (provablyDistinct(substitutedType1, substitutedType2, level + 1)) return true; - if (substitutedType1 instanceof PsiWildcardType && !((PsiWildcardType)substitutedType1).isBounded()) return true; } } if (level < 2) return false; diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting8/DistinguishTypeArgs.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting8/DistinguishTypeArgs.java new file mode 100644 index 000000000000..7078fadbcb54 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting8/DistinguishTypeArgs.java @@ -0,0 +1,11 @@ +import java.util.Set; + +abstract class Test { + public Set> getSubTypesOf(Class type){ + return null; + } + + Set> foo(Class interfaceClass){ + return (Set>)getSubTypesOf(interfaceClass); + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/GenericsHighlighting8Test.java b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/GenericsHighlighting8Test.java index 52d40822a231..0c2273100a16 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/GenericsHighlighting8Test.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/lambda/GenericsHighlighting8Test.java @@ -918,4 +918,8 @@ public class GenericsHighlighting8Test extends LightDaemonAnalyzerTestCase { public void testAccessClassForWildcardCaptureType() throws Exception { doTest(); } + + public void testDistinguishTypeArgs() throws Exception { + doTest(); + } }