intersection types for PsiTypeVisitor; do not convert intersection type to class type even when no actual substitution is needed

(cherry picked from commit 4670ddf57981f596122082365e43587990c3a53e)
This commit is contained in:
anna
2013-11-25 16:48:05 +01:00
parent d338bc76df
commit 80e8321a48
5 changed files with 42 additions and 1 deletions
@@ -0,0 +1,19 @@
class Test {
interface A {}
interface B {}
static interface C extends A, B {}
static interface D extends A, B {}
interface I<T, V> {
V fun(T arg);
}
<Z> Z m(Z z) { return z; }
void test(C c, D d) {
choose(c, d, x -> x);
choose(c, d, this::m);
}
<T> void choose(T t1, T t2, I<T, T> t3) {}
}