Files
kotlin-fork/js/js.translator/testData/expression/cast/cases/reifiedToNullable.kt
T
Alexey Tsvetkov 3fd387d4a6 JS/RTTI: support unsafe casts
#KT-2670 fixed
2016-05-05 17:24:13 +03:00

19 lines
393 B
Kotlin
Vendored

package foo
interface A
class AImpl : A {}
inline
fun test<reified T>(x: Any?): T = x as T
fun box(): String {
var a: A? = AImpl()
assertEquals(a, test<A?>(a), "a = AImpl()")
a = object : A {}
assertEquals(a, test<A?>(a), "a = object : A{}")
assertEquals(null, test<A?>(null), "test(null)")
failsClassCast("test(object{})") { test<A?>(object{}) }
return "OK"
}