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
18 lines
252 B
Kotlin
Vendored
18 lines
252 B
Kotlin
Vendored
class T(val value: Int) {
|
|
}
|
|
|
|
fun local() : Int {
|
|
|
|
operator fun T.get(s: Int): Int {
|
|
return s * this.value
|
|
}
|
|
|
|
var t = T(11)
|
|
return t[2]
|
|
}
|
|
|
|
fun box() : String {
|
|
if (local() != 22) return "fail1 ${local()} "
|
|
|
|
return "OK"
|
|
} |