CFA test data updated

This commit is contained in:
Andrey Breslav
2013-12-03 18:26:27 +04:00
parent ef194ffe23
commit 81003ba298
15 changed files with 554 additions and 809 deletions
+35 -44
View File
@@ -18,56 +18,47 @@ fun f(a : Boolean) : Unit {
}
---------------------
L0:
<START> NEXT:[v(a : Boolean)] PREV:[]
v(a : Boolean) NEXT:[w(a)] PREV:[<START>]
w(a) NEXT:[r(1)] PREV:[v(a : Boolean)]
r(1) NEXT:[r(a)] PREV:[w(a)]
r(a) NEXT:[r(2)] PREV:[r(1)]
r(2) NEXT:[r(toLong)] PREV:[r(a)]
r(toLong) NEXT:[r(toLong())] PREV:[r(2)]
r(toLong()) NEXT:[r(2.toLong())] PREV:[r(toLong)]
r(2.toLong()) NEXT:[r(a)] PREV:[r(toLong())]
r(a) NEXT:[r(3)] PREV:[r(2.toLong())]
r(3) NEXT:[r(foo)] PREV:[r(a)]
r(foo) NEXT:[r(foo(a, 3))] PREV:[r(3)]
r(foo(a, 3)) NEXT:[r(genfun)] PREV:[r(foo)]
r(genfun) NEXT:[r(genfun<Any>())] PREV:[r(foo(a, 3))]
r(genfun<Any>()) NEXT:[jmp?(L2)] PREV:[r(genfun)]
jmp?(L2) NEXT:[r({1}), d({1})] PREV:[r(genfun<Any>())]
d({1}) NEXT:[<SINK>] PREV:[jmp?(L2)]
<START> NEXT:[v(a : Boolean)] PREV:[]
v(a : Boolean) NEXT:[w(a)] PREV:[<START>]
w(a) NEXT:[r(1)] PREV:[v(a : Boolean)]
r(1) NEXT:[r(a)] PREV:[w(a)]
r(a) NEXT:[r(2)] PREV:[r(1)]
r(2) NEXT:[call(toLong, toLong)] PREV:[r(a)]
call(toLong, toLong) NEXT:[r(a)] PREV:[r(2)]
r(a) NEXT:[r(3)] PREV:[call(toLong, toLong)]
r(3) NEXT:[call(foo, foo)] PREV:[r(a)]
call(foo, foo) NEXT:[call(genfun, genfun)] PREV:[r(3)]
call(genfun, genfun) NEXT:[jmp?(L2)] PREV:[call(foo, foo)]
jmp?(L2) NEXT:[r({1}), d({1})] PREV:[call(genfun, genfun)]
d({1}) NEXT:[<SINK>] PREV:[jmp?(L2)]
L2:
r({1}) NEXT:[r(flfun)] PREV:[jmp?(L2)]
r(flfun) NEXT:[r(flfun {1})] PREV:[r({1})]
r(flfun {1}) NEXT:[r(3)] PREV:[r(flfun)]
r(3) NEXT:[r(4)] PREV:[r(flfun {1})]
r(4) NEXT:[r(equals)] PREV:[r(3)]
r(equals) NEXT:[r(equals(4))] PREV:[r(4)]
r(equals(4)) NEXT:[r(3.equals(4))] PREV:[r(equals)]
r(3.equals(4)) NEXT:[r(3)] PREV:[r(equals(4))]
r(3) NEXT:[r(4)] PREV:[r(3.equals(4))]
r(4) NEXT:[r(equals)] PREV:[r(3)]
r(equals) NEXT:[r(3 equals 4)] PREV:[r(4)]
r(3 equals 4) NEXT:[r(1)] PREV:[r(equals)]
r(1) NEXT:[r(2)] PREV:[r(3 equals 4)]
r(2) NEXT:[r(+)] PREV:[r(1)]
r(+) NEXT:[r(1 + 2)] PREV:[r(2)]
r(1 + 2) NEXT:[r(a)] PREV:[r(+)]
r(a) NEXT:[jf(L5)] PREV:[r(1 + 2)]
jf(L5) NEXT:[r(a && true), r(true)] PREV:[r(a)]
r(true) NEXT:[r(a && true)] PREV:[jf(L5)]
r({1}) NEXT:[call(flfun, flfun)] PREV:[jmp?(L2)]
call(flfun, flfun) NEXT:[r(3)] PREV:[r({1})]
r(3) NEXT:[r(4)] PREV:[call(flfun, flfun)]
r(4) NEXT:[call(equals, equals)] PREV:[r(3)]
call(equals, equals) NEXT:[r(3)] PREV:[r(4)]
r(3) NEXT:[r(4)] PREV:[call(equals, equals)]
r(4) NEXT:[call(equals, equals)] PREV:[r(3)]
call(equals, equals) NEXT:[r(1)] PREV:[r(4)]
r(1) NEXT:[r(2)] PREV:[call(equals, equals)]
r(2) NEXT:[call(+, plus)] PREV:[r(1)]
call(+, plus) NEXT:[r(a)] PREV:[r(2)]
r(a) NEXT:[jf(L5)] PREV:[call(+, plus)]
jf(L5) NEXT:[r(a && true), r(true)] PREV:[r(a)]
r(true) NEXT:[r(a && true)] PREV:[jf(L5)]
L5:
r(a && true) NEXT:[r(a)] PREV:[jf(L5), r(true)]
r(a) NEXT:[jt(L6)] PREV:[r(a && true)]
jt(L6) NEXT:[r(false), r(a || false)] PREV:[r(a)]
r(false) NEXT:[r(a || false)] PREV:[jt(L6)]
r(a && true) NEXT:[r(a)] PREV:[jf(L5), r(true)]
r(a) NEXT:[jt(L6)] PREV:[r(a && true)]
jt(L6) NEXT:[r(false), r(a || false)] PREV:[r(a)]
r(false) NEXT:[r(a || false)] PREV:[jt(L6)]
L6:
r(a || false) NEXT:[<END>] PREV:[jt(L6), r(false)]
r(a || false) NEXT:[<END>] PREV:[jt(L6), r(false)]
L1:
<END> NEXT:[<SINK>] PREV:[r(a || false)]
<END> NEXT:[<SINK>] PREV:[r(a || false)]
error:
<ERROR> NEXT:[<SINK>] PREV:[]
<ERROR> NEXT:[<SINK>] PREV:[]
sink:
<SINK> NEXT:[] PREV:[<ERROR>, <END>, d({1})]
<SINK> NEXT:[] PREV:[<ERROR>, <END>, d({1})]
L3:
<START> NEXT:[r(1)] PREV:[]
r(1) NEXT:[<END>] PREV:[<START>]