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
17 lines
312 B
Kotlin
Vendored
17 lines
312 B
Kotlin
Vendored
fun box(): String {
|
|
fun foo(x: Int, s: String): String {
|
|
fun bar(y: Int) {
|
|
fun baz(z: Int, k: Int) {
|
|
foo(x - 1 + k, "Fail")
|
|
}
|
|
|
|
baz(y, 0)
|
|
}
|
|
|
|
if (x > 0) bar(x)
|
|
return s
|
|
}
|
|
|
|
return foo(1, "OK")
|
|
}
|