package a enum class C { E1 E2 E3 { object O_O fun b() { O_O } class G } E4 { fun c() { //TODO: this is a bug this.B() C.A() A() //TODO: this is a bug this.A() } } class A inner class B object O { object InO } } fun f() { C.E1.A C.E1.A() C.E2.B() C.E2.O C.E3.O.InO C.O C.O.InO C.A() C.B() C.E3.O_O C.E3.G() }