Pseudocode: Generate fake values for Unit/Nothing-typed expressions

This commit is contained in:
Alexey Sedunov
2014-07-23 12:56:21 +04:00
parent 2d3ac9109b
commit 77bbf8f73b
72 changed files with 851 additions and 592 deletions
@@ -3,9 +3,10 @@ fun test(a: Any) {
a.foo()
}
---------------------
<v0>: {<: Any} NEW: magic[FAKE_INITIALIZER](a: Any) -> <v0>
a <v1>: * NEW: r(a) -> <v1>
foo() <v2>: * NEW: magic[UNRESOLVED_CALL](foo()|<v1>) -> <v2>
a.foo() <v2>: * COPY
{ a.foo() } <v2>: * COPY
<v0>: {<: Any} NEW: magic[FAKE_INITIALIZER](a: Any) -> <v0>
a <v1>: * NEW: r(a) -> <v1>
foo !<v2>: *
foo() <v3>: * NEW: magic[UNRESOLVED_CALL](foo()|!<v2>, <v1>) -> <v3>
a.foo() <v3>: * COPY
{ a.foo() } <v3>: * COPY
=====================