Pseudocode: Implement computation of expected type predicates

This commit is contained in:
Alexey Sedunov
2014-06-23 14:02:22 +04:00
parent 50228fa085
commit 5e2c2b4eca
87 changed files with 1154 additions and 803 deletions
@@ -5,7 +5,7 @@ fun Any?.doSomething() {}
== bar ==
fun bar(): Nothing = throw Exception()
---------------------
Exception() <v0> NEW()
Exception() <v0>: {<: Throwable} NEW()
=====================
== foo ==
fun foo() {
@@ -13,11 +13,11 @@ fun foo() {
bar().doSomething
}
---------------------
null <v0> NEW()
null!! <v1> NEW(<v0>)
doSomething() <v2> NEW(<v1>)
null!!.doSomething() <v2> COPY
doSomething <v3> NEW()
bar().doSomething <v3> COPY
{ null!!.doSomething() bar().doSomething } <v3> COPY
null <v0>: * NEW()
null!! <v1>: * NEW(<v0>)
doSomething() <v2>: * NEW(<v1>)
null!!.doSomething() <v2>: * COPY
doSomething <v3>: * NEW()
bar().doSomething <v3>: * COPY
{ null!!.doSomething() bar().doSomething } <v3>: * COPY
=====================