== Foo == open class Foo { fun foo(a: IntArray) {} fun foo(a: Int, b: Int) {} } --------------------- L0: 1 L1: NEXT:[] error: PREV:[] sink: PREV:[, ] ===================== == foo == fun foo(a: IntArray) {} --------------------- L0: 1 v(a: IntArray) magic[FAKE_INITIALIZER](a: IntArray) -> w(a|) 2 mark({}) read (Unit) L1: 1 NEXT:[] error: PREV:[] sink: PREV:[, ] ===================== == foo == fun foo(a: Int, b: Int) {} --------------------- L0: 1 v(a: Int) magic[FAKE_INITIALIZER](a: Int) -> w(a|) v(b: Int) magic[FAKE_INITIALIZER](b: Int) -> w(b|) 2 mark({}) read (Unit) L1: 1 NEXT:[] error: PREV:[] sink: PREV:[, ] ===================== == foo == fun Foo.foo(i: Int) {} --------------------- L0: 1 v(i: Int) magic[FAKE_INITIALIZER](i: Int) -> w(i|) 2 mark({}) read (Unit) L1: 1 NEXT:[] error: PREV:[] sink: PREV:[, ] ===================== == foo == fun Foo.foo() {} --------------------- L0: 1 2 mark({}) read (Unit) L1: 1 NEXT:[] error: PREV:[] sink: PREV:[, ] ===================== == test == fun test() { Foo().foo(bar()) } --------------------- L0: 1 2 mark({ Foo().foo(bar()) }) mark(Foo().foo(bar())) mark(Foo()) call(Foo(), ) -> mark(bar()) magic[UNRESOLVED_CALL](bar()|!) -> mark(foo(bar())) call(foo(bar()), foo|, ) -> L1: 1 NEXT:[] error: PREV:[] sink: PREV:[, ] =====================