== Foo == open class Foo { fun foo(a: IntArray) {} fun foo(a: Int, b: Int) {} } --------------------- ===================== == foo == fun foo(a: IntArray) {} --------------------- : IntArray NEW: magic[FAKE_INITIALIZER](a: IntArray) -> ===================== == foo == fun foo(a: Int, b: Int) {} --------------------- : Int NEW: magic[FAKE_INITIALIZER](a: Int) -> : Int NEW: magic[FAKE_INITIALIZER](b: Int) -> ===================== == foo == fun Foo.foo(i: Int) {} --------------------- : Int NEW: magic[FAKE_INITIALIZER](i: Int) -> ===================== == foo == fun Foo.foo() {} --------------------- ===================== == test == fun test() { Foo().foo(bar()) } --------------------- Foo() : {<: Foo} NEW: call(Foo(), ) -> bar !: * bar() : IntArray NEW: magic[UNRESOLVED_CALL](bar()|!) -> foo(bar()) : * NEW: call(foo(bar()), foo|, ) -> Foo().foo(bar()) : * COPY { Foo().foo(bar()) } : * COPY =====================