type distinct prover symmetry

This commit is contained in:
anna
2013-05-06 17:30:07 +02:00
parent ce6e7dd66d
commit 3df31c5805
2 changed files with 18 additions and 3 deletions
@@ -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) {
@@ -529,4 +529,20 @@ class IndexedElementInvocationHandler extends DomInvocationHandler<FixedChildDes
}
class FixedChildDescriptionImpl extends AbstractDomChildDescriptionImpl {
}
}
class CaptureSymmetry {
interface Collection<A> {}
interface List<A> extends Collection<A>{}
class ArrayList<A> implements List<A> {}
public static <T> Collection<T> unmodifiableCollection(Collection<? extends T> c) {
return null;
}
public <B extends List<?>> Collection<? extends B> getBreakpoints (List<B> b) {
Collection<? extends ArrayList<?>> breakpoints = null;
Collection<? extends B> regular = breakpoints != null ? unmodifiableCollection((Collection<? extends B>)breakpoints) : b;
return null;
}
}