== f == fun f(a : Boolean) : Unit { 1 a 2.toLong() foo(a, 3) genfun() flfun {1} 3.equals(4) 3 equals 4 1 + 2 a && true a || false } --------------------- L0: v(a : Boolean) w(a) mark({ 1 a 2.toLong() foo(a, 3) genfun() flfun {1} 3.equals(4) 3 equals 4 1 + 2 a && true a || false }) r(1) r(a) mark(2.toLong()) mark(toLong()) r(2) call(toLong, toLong) mark(foo(a, 3)) r(a) r(3) call(foo, foo) mark(genfun()) call(genfun, genfun) mark(flfun {1}) mark({1}) jmp?(L2) NEXT:[r({1}), d({1})] d({1}) NEXT:[] L2: r({1}) PREV:[jmp?(L2)] call(flfun, flfun) mark(3.equals(4)) mark(equals(4)) r(3) r(4) call(equals, equals) mark(3 equals 4) r(3) r(4) call(equals, equals) mark(1 + 2) r(1) r(2) call(+, plus) r(a) jf(L5) NEXT:[r(a && true), r(true)] r(true) L5: r(a && true) PREV:[jf(L5), r(true)] r(a) jt(L6) NEXT:[r(false), r(a || false)] r(false) L6: r(a || false) PREV:[jt(L6), r(false)] L1: NEXT:[] error: PREV:[] sink: PREV:[, , d({1})] L3: mark(1) r(1) L4: NEXT:[] error: PREV:[] sink: PREV:[, ] ===================== == anonymous_0 == {1} --------------------- L3: mark(1) r(1) L4: NEXT:[] error: PREV:[] sink: PREV:[, ] ===================== == foo == fun foo(a : Boolean, b : Int) : Unit {} --------------------- L0: v(a : Boolean) w(a) v(b : Int) w(b) mark({}) read (Unit) L1: NEXT:[] error: PREV:[] sink: PREV:[, ] ===================== == genfun == fun genfun() : Unit {} --------------------- L0: mark({}) read (Unit) L1: NEXT:[] error: PREV:[] sink: PREV:[, ] ===================== == flfun == fun flfun(f : () -> Any) : Unit {} --------------------- L0: v(f : () -> Any) w(f) mark({}) read (Unit) L1: NEXT:[] error: PREV:[] sink: PREV:[, ] =====================