24 lines
633 B
Kotlin
Vendored
24 lines
633 B
Kotlin
Vendored
|
|
open class A
|
|
class B : A()
|
|
|
|
fun compareClasses(a: Any, b: Any) = a::class == b::class
|
|
|
|
fun isA(a: Any) = a::class == A::class
|
|
|
|
inline fun <reified T> isT(a: Any) = a::class == T::class
|
|
|
|
fun box(): String {
|
|
if (!compareClasses("a", "b")) return "Fail 1"
|
|
if (compareClasses(Any(), "")) return "Fail 2"
|
|
if (!isA(A())) return "Fail 3"
|
|
if (isA(B())) return "Fail 4"
|
|
if (!isT<A>(A())) return "Fail 5"
|
|
if (isT<A>(B())) return "Fail 6"
|
|
if (isT<B>(A())) return "Fail 7"
|
|
if (isT<Any>(B())) return "Fail 8"
|
|
if (!isT<Int>(10)) return "Fail 9"
|
|
if (!isT<Int>(10 as Any)) return "Fail 10"
|
|
return "OK"
|
|
}
|