== foo == fun 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(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: String, b: Int) {} --------------------- L0: 1 v(a: String) magic[FAKE_INITIALIZER](a: String) -> 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() {} --------------------- L0: 1 2 mark({}) read (Unit) L1: 1 NEXT:[] error: PREV:[] sink: PREV:[, ] ===================== == test == fun test() { foo(bar()) } --------------------- L0: 1 2 mark({ foo(bar()) }) mark(bar()) magic[UNRESOLVED_CALL](bar()|!) -> mark(foo(bar())) magic[UNRESOLVED_CALL](foo(bar())|, !) -> L1: 1 NEXT:[] error: PREV:[] sink: PREV:[, ] =====================