Files
kotlin-fork/compiler/testData/codegen/box/extensionFunctions/kt5467.kt
T
Mikhail Glukhikh 20c4a7b244 [FIR2IR] Introduce staged transformation (first step)
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
2020-03-13 12:18:02 +03:00

20 lines
391 B
Kotlin
Vendored

fun String.foo() : String {
fun Int.bar() : String {
fun Long.baz() : String {
val x = this@foo
val y = this@bar
val z = this@baz
return "$x $y $z"
}
return 0L.baz()
}
return 42.bar()
}
fun box() : String {
val result = "OK".foo()
if (result != "OK 42 0") return "fail: $result"
return "OK"
}