blob: 7f2f134fd04dddbe9ad6cadcde5cf067d51515e5 [file]
abstract class A {
abstract val x: Any
init {
castX(this)
}
}
class B : A() {
override val x: Any = "abc"
}
fun castX(a: A) {
a.x as String
}
fun box(): String {
try {
B()
} catch (e: NullPointerException) {
return "OK"
} catch (e: ClassCastException) {
return "OK" // JS
}
return "Failed: should throw NPE"
}