Properly process this in callee position

This commit is contained in:
Andrey Breslav
2013-12-03 17:51:07 +04:00
parent b15b075484
commit 163e5cfbb4
6 changed files with 63 additions and 1 deletions
@@ -0,0 +1,18 @@
== invoke ==
fun invoke(f: () -> Unit) {
(f)()
}
---------------------
L0:
<START> NEXT:[v(f: () -> Unit)] PREV:[]
v(f: () -> Unit) NEXT:[w(f)] PREV:[<START>]
w(f) NEXT:[r(f)] PREV:[v(f: () -> Unit)]
r(f) NEXT:[call((f), <for expression (f)>)] PREV:[w(f)]
call((f), <for expression (f)>) NEXT:[<END>] PREV:[r(f)]
L1:
<END> NEXT:[<SINK>] PREV:[call((f), <for expression (f)>)]
error:
<ERROR> NEXT:[<SINK>] PREV:[]
sink:
<SINK> NEXT:[] PREV:[<ERROR>, <END>]
=====================