== foo == fun foo() { val a = 1 val f = { (x: Int) -> val y = x + a use(a) } } --------------------- L0: 1 INIT: in: {} out: {} USE: in: {} out: {} 2 mark({ val a = 1 val f = { (x: Int) -> val y = x + a use(a) } }) v(val a = 1) INIT: in: {} out: {a=D} r(1) INIT: in: {a=D} out: {a=D} w(a) INIT: in: {a=D} out: {a=ID} v(val f = { (x: Int) -> val y = x + a use(a) }) INIT: in: {a=ID} out: {a=ID, f=D} mark({ (x: Int) -> val y = x + a use(a) }) INIT: in: {a=ID, f=D} out: {a=ID, f=D} jmp?(L2) d({ (x: Int) -> val y = x + a use(a) }) USE: in: {a=READ} out: {a=READ} L2: r({ (x: Int) -> val y = x + a use(a) }) w(f) INIT: in: {a=ID, f=D} out: {a=ID, f=ID} L1: 1 INIT: in: {} out: {} error: sink: USE: in: {} out: {} ===================== == anonymous_0 == { (x: Int) -> val y = x + a use(a) } --------------------- L3: 3 INIT: in: {a=ID, f=D} out: {a=ID, f=D} v(x: Int) INIT: in: {a=ID, f=D} out: {a=ID, f=D, x=D} w(x) INIT: in: {a=ID, f=D, x=D} out: {a=ID, f=D, x=ID} 4 mark(val y = x + a use(a)) INIT: in: {a=ID, f=D, x=ID} out: {a=ID, f=D, x=ID} v(val y = x + a) INIT: in: {a=ID, f=D, x=ID} out: {a=ID, f=D, x=ID, y=D} mark(x + a) INIT: in: {a=ID, f=D, x=ID, y=D} out: {a=ID, f=D, x=ID, y=D} USE: in: {a=READ, x=READ} out: {a=READ, x=READ} r(x) USE: in: {a=READ} out: {a=READ, x=READ} r(a) call(+, plus) w(y) INIT: in: {a=ID, f=D, x=ID, y=D} out: {a=ID, f=D, x=ID, y=ID} mark(use(a)) INIT: in: {a=ID, f=D, x=ID, y=ID} out: {a=ID, f=D, x=ID, y=ID} USE: in: {a=READ} out: {a=READ} r(a) USE: in: {} out: {a=READ} call(use, use) L4: 3 INIT: in: {a=ID, f=D, x=ID} out: {a=ID, f=D, x=ID} error: INIT: in: {} out: {} sink: INIT: in: {a=ID, f=D, x=ID} out: {a=ID, f=D, x=ID} USE: in: {} out: {} ===================== == use == fun use(vararg a: Any?) = a --------------------- L0: 1 INIT: in: {} out: {} v(vararg a: Any?) INIT: in: {} out: {a=D} w(a) INIT: in: {a=D} out: {a=ID} USE: in: {a=READ} out: {a=READ} r(a) INIT: in: {a=ID} out: {a=ID} USE: in: {} out: {a=READ} L1: error: INIT: in: {} out: {} sink: INIT: in: {a=ID} out: {a=ID} USE: in: {} out: {} =====================