Move callable reference diagnostic tests to non-stdlib

This commit is contained in:
Alexander Udalov
2015-04-20 11:01:07 +03:00
parent 51684b3fe1
commit 90097d7e8b
144 changed files with 465 additions and 465 deletions
@@ -0,0 +1,36 @@
// !CHECK_TYPE
import kotlin.reflect.KMemberProperty
interface Base {
val x: Any
}
class A : Base {
override val x: String = ""
}
open class B : Base {
override val x: Number = 1.0
}
class C : B() {
override val x: Int = 42
}
fun test() {
val base = Base::x
checkSubtype<KMemberProperty<Base, Any>>(base)
checkSubtype<Any>(base.get(A()))
checkSubtype<Number>(<!TYPE_MISMATCH!>base.get(B())<!>)
checkSubtype<Int>(<!TYPE_MISMATCH!>base.get(C())<!>)
val a = A::x
checkSubtype<KMemberProperty<A, String>>(a)
checkSubtype<String>(a.get(A()))
checkSubtype<Number>(<!TYPE_MISMATCH!>a.get(<!TYPE_MISMATCH!>B()<!>)<!>)
val b = B::x
checkSubtype<KMemberProperty<B, Number>>(b)
checkSubtype<Int>(<!TYPE_MISMATCH!>b.get(C())<!>)
}