Control-Flow: Assign pseudo-values to local functions (except those

declared directly in the block)
This commit is contained in:
Alexey Sedunov
2015-04-20 14:58:41 +03:00
parent 5b1906fb13
commit d815634233
16 changed files with 388 additions and 9 deletions
@@ -0,0 +1,23 @@
== test ==
fun test() {
val f = fun(n: Int): Int { return 1 }
val g = fun foo(n: Int) = 2
}
---------------------
fun(n: Int): Int { return 1 } <v0>: {<: (Int) -> Int} NEW: r(fun(n: Int): Int { return 1 }) -> <v0>
fun foo(n: Int) = 2 <v1>: {<: (Int) -> Int} NEW: r(fun foo(n: Int) = 2) -> <v1>
=====================
== anonymous_0 ==
fun(n: Int): Int { return 1 }
---------------------
<v0>: Int NEW: magic[FAKE_INITIALIZER](n: Int) -> <v0>
1 <v1>: Int NEW: r(1) -> <v1>
return 1 !<v2>: *
{ return 1 } !<v2>: * COPY
=====================
== foo ==
fun foo(n: Int) = 2
---------------------
<v0>: Int NEW: magic[FAKE_INITIALIZER](n: Int) -> <v0>
2 <v1>: Int NEW: r(2) -> <v1>
=====================