== foo == fun foo() { "before" for (i in 1..10) { val a = i } "after" } --------------------- L0: 1 INIT: in: {} out: {} 2 mark({ "before" for (i in 1..10) { val a = i } "after" }) mark("before") r("before") -> 3 r(1) -> r(10) -> mark(1..10) call(1..10, rangeTo|, ) -> mark(1..10) call(1..10, iterator|) -> v(i) INIT: in: {} out: {} L2 [loop entry point]: L6 [condition entry point]: mark(1..10) INIT: in: {} out: {} call(1..10, hasNext) -> jmp?(L3) mark(1..10) call(1..10, next) -> magic[LOOP_RANGE_ITERATION](1..10|) -> w(i|) INIT: in: {} out: {} mark(for (i in 1..10) { val a = i }) INIT: in: {} out: {} L4 [body entry point]: 4 mark({ val a = i }) v(val a = i) INIT: in: {} out: {} r(i) -> INIT: in: {} out: {} w(a|) INIT: in: {} out: {} 3 jmp(L2) INIT: in: {} out: {} L3 [loop exit point]: L5 [body exit point]: read (Unit) 2 mark("after") r("after") -> L1: 1 error: sink: USE: in: {} out: {} =====================