Pseudocode: Do not bind call value to callee expressions

This commit is contained in:
Alexey Sedunov
2014-06-10 17:25:16 +04:00
parent e94f96d457
commit 168b32920b
52 changed files with 351 additions and 477 deletions
@@ -18,15 +18,13 @@ fun t1(b: Boolean) {
---------------------
b <v1> NEW()
"s" <v2> NEW()
doSmth <v4> NEW(<v3>)
u <v3> NEW()
doSmth(u) <v4> COPY
u <v3> NEW()
doSmth(u) <v4> NEW(<v3>)
b <v5> NEW()
"s" <v6> NEW()
"t" <v7> NEW()
doSmth <v9> NEW(<v8>)
r <v8> NEW()
doSmth(r) <v9> COPY
r <v8> NEW()
doSmth(r) <v9> NEW(<v8>)
{ var u: String if (b) { u = "s" } doSmth(u) var r: String if (b) { r = "s" } else { r = "t" } doSmth(r) } <v9> COPY
=====================
== t2 ==
@@ -43,9 +41,8 @@ fun t2(b: Boolean) {
---------------------
3 <v1> NEW()
b <v2> NEW()
doSmth <v4> NEW(<v3>)
i <v3> NEW()
doSmth(i) <v4> COPY
doSmth(i) <v4> NEW(<v3>)
i <v5> NEW()
i is Int <v6> NEW(<v5>)
=====================