== Delegate == class Delegate { operator fun getValue(t: Any?, p: KProperty<*>): Int = 1 } --------------------- L0: 1 L1: NEXT:[] error: PREV:[] sink: PREV:[, ] ===================== == getValue == operator fun getValue(t: Any?, p: KProperty<*>): Int = 1 --------------------- L0: 1 v(t: Any?) magic[FAKE_INITIALIZER](t: Any?) -> w(t|) v(p: KProperty<*>) magic[FAKE_INITIALIZER](p: KProperty<*>) -> w(p|) r(1) -> ret(*|) L1 L1: NEXT:[] error: PREV:[] sink: PREV:[, ] ===================== == foo == fun foo(): Int { val prop: Int by Delegate() return prop } --------------------- L0: 1 2 mark({ val prop: Int by Delegate() return prop }) v(val prop: Int by Delegate()) magic[UNRECOGNIZED_WRITE_RHS](val prop: Int by Delegate()) -> w(prop|) mark(Delegate()) call(Delegate(), ) -> magic[FAKE_INITIALIZER](val prop: Int by Delegate()) -> w(prop|) magic[VALUE_CONSUMER](val prop: Int by Delegate()|) -> r(prop) -> ret(*|) L1 L1: 1 NEXT:[] error: PREV:[] sink: PREV:[, ] =====================