Push Down: Initial Support

This commit is contained in:
Alexey Sedunov
2015-07-28 21:28:39 +03:00
parent 5168ccc159
commit a66ef47887
42 changed files with 1638 additions and 356 deletions
@@ -0,0 +1,47 @@
interface Z<T>
open class A<T> {
}
class B<S> : A<Z<S>>() {
// INFO: {"checked": "true"}
val t1: Z<S>
// INFO: {"checked": "true"}
val t2: Z<Z<S>>
// INFO: {"checked": "true"}
fun foo<S>(t1: Z<S>, t2: Z<Z<S>>, s1: S, s2: Z<S>): Boolean = true
// INFO: {"checked": "true"}
inner class X : Z<Z<S>> {
}
// INFO: {"checked": "true"}
class Y<U> : Z<U> {
}
}
class C<K> : A<B<K>>() {
// INFO: {"checked": "true"}
val t1: B<K>
// INFO: {"checked": "true"}
val t2: Z<B<K>>
// INFO: {"checked": "true"}
fun foo<S>(t1: B<K>, t2: Z<B<K>>, s1: S, s2: Z<S>): Boolean = true
// INFO: {"checked": "true"}
inner class X : Z<B<K>> {
}
// INFO: {"checked": "true"}
class Y<U> : Z<U> {
}
}