20c4a7b244
Now FE IR -> BE IR transformation is performed in multiple stages controller by Fir2IrConverter. Stages are * files & classes registration * supertypes & type parameters handling * functions & properties signature generation * body generation After each step we have guarantee (with exception of local classes & type inference combination, and external symbols) that required symbols (class/function/property/variable/type parameter) are already bound to real declarations and have correct parents. This commit also fixes incorrect parents for local classes
20 lines
400 B
Kotlin
Vendored
20 lines
400 B
Kotlin
Vendored
// TARGET_BACKEND: JVM
|
|
|
|
// WITH_RUNTIME
|
|
|
|
fun box(): String {
|
|
val obj = "" as java.lang.Object
|
|
val e = IllegalArgumentException()
|
|
fun m(): Nothing = throw e
|
|
try {
|
|
synchronized (m()) {
|
|
throw AssertionError("Should not have reached this point")
|
|
}
|
|
}
|
|
catch (caught: Throwable) {
|
|
if (caught !== e) return "Fail: $caught"
|
|
}
|
|
|
|
return "OK"
|
|
}
|