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
332 B
Kotlin
Vendored
17 lines
332 B
Kotlin
Vendored
// !LANGUAGE: +ProperVisibilityForCompanionObjectInstanceField
|
|
|
|
class Outer {
|
|
private companion object {
|
|
val result = "OK"
|
|
}
|
|
|
|
class Nested {
|
|
fun foo() = object {
|
|
override fun toString(): String = result
|
|
}
|
|
}
|
|
|
|
fun test() = Nested().foo().toString()
|
|
}
|
|
|
|
fun box() = Outer().test() |