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
@@ -13,11 +13,12 @@ fun foo() {
bar().doSomething
}
---------------------
null <v0>: * NEW: r(null) -> <v0>
null!! <v1>: * NEW: magic[NOT_NULL_ASSERTION](null!!|<v0>) -> <v1>
doSomething() <v2>: * NEW: call(doSomething(), doSomething|<v1>) -> <v2>
null!!.doSomething() <v2>: * COPY
doSomething <v3>: * NEW: call(doSomething, doSomething) -> <v3>
bar().doSomething <v3>: * COPY
{ null!!.doSomething() bar().doSomething } <v3>: * COPY
null <v0>: * NEW: r(null) -> <v0>
null!! <v1>: * NEW: magic[NOT_NULL_ASSERTION](null!!|<v0>) -> <v1>
doSomething() <v2>: * NEW: call(doSomething(), doSomething|<v1>) -> <v2>
null!!.doSomething() <v2>: * COPY
bar() !<v3>: *
doSomething <v4>: * NEW: call(doSomething, doSomething|!<v3>) -> <v4>
bar().doSomething <v4>: * COPY
{ null!!.doSomething() bar().doSomething } <v4>: * COPY
=====================