== foo == fun foo() { class B { val a: Int get() { val b: Int return b } } } --------------------- L0: 1 2 mark({ class B { val a: Int get() { val b: Int return b } } }) jmp?(L2) NEXT:[, v(val a: Int get() { val b: Int return b })] v(val a: Int get() { val b: Int return b }) jmp?(L3) NEXT:[, d(get() { val b: Int return b })] d(get() { val b: Int return b }) NEXT:[] L1: L2 [after local class]: L3 [after local declaration]: 1 NEXT:[] PREV:[jmp?(L2), jmp?(L3)] error: PREV:[] sink: PREV:[, , d(get() { val b: Int return b })] ===================== == get_a == get() { val b: Int return b } --------------------- L4: 3 4 mark({ val b: Int return b }) v(val b: Int) r(b) -> ret(*|) L5 L5: 3 NEXT:[] error: PREV:[] sink: PREV:[, ] =====================