== bar == fun bar(f: () -> Unit) = f() --------------------- L0: 1 INIT: in: {} out: {} v(f: () -> Unit) INIT: in: {} out: {} magic[FAKE_INITIALIZER](f: () -> Unit) -> INIT: in: {} out: {} w(f|) INIT: in: {} out: {} r(f) -> INIT: in: {} out: {} mark(f()) call(f(), invoke|) -> ret(*|) L1 L1: error: sink: USE: in: {} out: {} ===================== == foo == fun foo() { var v: Any bar { v.hashCode() } } --------------------- L0: 1 INIT: in: {} out: {} USE: in: {} out: {} 2 mark({ var v: Any bar { v.hashCode() } }) v(var v: Any) INIT: in: {} out: {v=D} mark({ v.hashCode() }) INIT: in: {v=D} out: {v=D} jmp?(L2) d({ v.hashCode() }) INIT: in: {v=I?} out: {v=I?} USE: in: {v=READ} out: {v=READ} L2 [after local declaration]: r({ v.hashCode() }) -> INIT: in: {v=D} out: {v=D} mark(bar { v.hashCode() }) call(bar { v.hashCode() }, bar|) -> L1: 1 INIT: in: {} out: {} error: sink: USE: in: {} out: {} ===================== == anonymous_0 == { v.hashCode() } --------------------- L3: 3 INIT: in: {v=D} out: {v=D} 4 mark(v.hashCode()) mark(v.hashCode()) USE: in: {v=READ} out: {v=READ} r(v) -> USE: in: {} out: {v=READ} mark(hashCode()) call(hashCode(), hashCode|) -> L4: 3 error: INIT: in: {} out: {} sink: INIT: in: {v=I?} out: {v=I?} USE: in: {} out: {} =====================