== EE == enum class EE(val x: Int) { INSTANCE(Companion.foo()), ANOTHER(foo()); companion object { fun foo() = 42 } } --------------------- : Int NEW: magic[FAKE_INITIALIZER](val x: Int) -> : EE.Companion NEW: magic[FAKE_INITIALIZER](companion object { fun foo() = 42 }) -> : {<: EE} NEW: magic[FAKE_INITIALIZER](INSTANCE(Companion.foo()),) -> : {<: EE} NEW: magic[FAKE_INITIALIZER](ANOTHER(foo());) -> : EE.Companion NEW: magic[IMPLICIT_RECEIVER](foo()) -> Companion : EE.Companion NEW: r(Companion) -> foo() : Int NEW: call(foo(), foo|) -> Companion.foo() : Int COPY (Companion.foo()) : * NEW: call((Companion.foo()), |) -> foo : * NEW: r(foo, Companion) -> foo() : Int NEW: call(foo(), foo|) -> (foo()) : * NEW: call((foo()), |) -> =====================