Typecheck instructions are supported for reified T

This commit is contained in:
Denis Zharkov
2014-10-06 13:46:23 +04:00
committed by Andrey Breslav
parent 416ac7917b
commit f3c49c605f
10 changed files with 154 additions and 24 deletions
@@ -0,0 +1,20 @@
import kotlin.test.assertEquals
inline fun<reified T> checkcast(x: Any?): T {
return x as T
}
fun box(): String {
val x = checkcast<String>("abc")
assertEquals("abc", x)
val y = checkcast<Int>(1)
assertEquals(1, y)
try {
val z = checkcast<Int>("abc")
} catch (e: Exception) {
return "OK"
}
return "Fail"
}