== foo == fun foo() { var x: String class A { init { x = "" } } x.length } --------------------- L0: 1 INIT: in: {} out: {} USE: in: {} out: {} 2 mark({ var x: String class A { init { x = "" } } x.length }) v(var x: String) INIT: in: {} out: {x=D} jmp?(L2) INIT: in: {x=D} out: {x=D} USE: in: {x=READ} out: {x=READ} 3 mark({ x = "" }) mark("") r("") -> USE: in: {x=WRITTEN_AFTER_READ} out: {x=WRITTEN_AFTER_READ} w(x|) INIT: in: {x=D} out: {x=ID} USE: in: {x=READ} out: {x=WRITTEN_AFTER_READ} L2 [after local class]: 2 mark(x.length) INIT: in: {x=I?D} out: {x=I?D} USE: in: {x=READ} out: {x=READ} r(x) -> USE: in: {} out: {x=READ} r(length|) -> L1: 1 INIT: in: {} out: {} error: sink: USE: in: {} out: {} =====================