f2520a9cb7
^KT-58707 ^KT-59022
27 lines
386 B
Kotlin
Vendored
27 lines
386 B
Kotlin
Vendored
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"
|
|
}
|