From 3df31c580540944fda7e81a2a6870f65b5950d18 Mon Sep 17 00:00:00 2001 From: anna Date: Mon, 6 May 2013 16:16:52 +0200 Subject: [PATCH] type distinct prover symmetry --- .../intellij/psi/util/TypesDistinctProver.java | 3 +-- .../WildcardCastConversion.java | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) 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 04bd3481bf27..df1be5851ec1 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 @@ -45,8 +45,7 @@ public class TypesDistinctProver { if (level > 1) return true; if (type2 instanceof PsiCapturedWildcardType) { - return ((PsiWildcardType)type1).isExtends() && level > 0 || - provablyDistinct((PsiWildcardType)type1, ((PsiCapturedWildcardType)type2).getWildcard()); + return provablyDistinct((PsiWildcardType)type1, ((PsiCapturedWildcardType)type2).getWildcard()); } if (type2 instanceof PsiClassType) { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/WildcardCastConversion.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/WildcardCastConversion.java index ac8d53bdb38a..f610bacd5314 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/WildcardCastConversion.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/WildcardCastConversion.java @@ -529,4 +529,20 @@ class IndexedElementInvocationHandler extends DomInvocationHandler {} + interface List extends Collection{} + class ArrayList implements List {} + + public static Collection unmodifiableCollection(Collection c) { + return null; + } + + public > Collection getBreakpoints (List b) { + Collection> breakpoints = null; + Collection regular = breakpoints != null ? unmodifiableCollection((Collection)breakpoints) : b; + return null; + } +}