== C == class C { fun component1() = 1 fun component2() = 2 } --------------------- L0: 1 L1: NEXT:[] error: PREV:[] sink: PREV:[, ] ===================== == component1 == fun component1() = 1 --------------------- L0: 1 r(1) -> ret(*|) L1 L1: NEXT:[] error: PREV:[] sink: PREV:[, ] ===================== == component2 == fun component2() = 2 --------------------- L0: 1 r(2) -> ret(*|) L1 L1: NEXT:[] error: PREV:[] sink: PREV:[, ] ===================== == test == fun test(c: C) { val (a, b) = c val d = 1 } --------------------- L0: 1 v(c: C) magic[FAKE_INITIALIZER](c: C) -> w(c|) 2 mark({ val (a, b) = c val d = 1 }) r(c) -> v(a) call(a, component1|) -> w(a|) v(b) call(b, component2|) -> w(b|) v(val d = 1) r(1) -> w(d|) L1: 1 NEXT:[] error: PREV:[] sink: PREV:[, ] =====================