summaryrefslogtreecommitdiff
path: root/java/java-psi-api/src/com/intellij/psi/util/TypesDistinctProver.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/java-psi-api/src/com/intellij/psi/util/TypesDistinctProver.java')
-rw-r--r--java/java-psi-api/src/com/intellij/psi/util/TypesDistinctProver.java6
1 files changed, 3 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 5d2c6aab7467..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
@@ -35,7 +35,7 @@ public class TypesDistinctProver {
return provablyDistinct(type1, type2, 0);
}
- private static boolean provablyDistinct(PsiType type1, PsiType type2, int level) {
+ protected static boolean provablyDistinct(PsiType type1, PsiType type2, int level) {
if (type1 instanceof PsiClassType && ((PsiClassType)type1).resolve() instanceof PsiTypeParameter) return false;
if (type2 instanceof PsiClassType && ((PsiClassType)type2).resolve() instanceof PsiTypeParameter) return false;
if (type1 instanceof PsiWildcardType) {
@@ -43,9 +43,9 @@ public class TypesDistinctProver {
return provablyDistinct((PsiWildcardType)type1, (PsiWildcardType)type2);
}
+ 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) {