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
@@ -3,7 +3,6 @@ fun fail() : Nothing {
throw java.lang.RuntimeException()
}
---------------------
RuntimeException <v0> NEW()
RuntimeException() <v0> COPY
java.lang.RuntimeException() <v0> COPY
RuntimeException() <v0> NEW()
java.lang.RuntimeException() <v0> COPY
=====================
@@ -28,7 +28,6 @@ fun foo(b: B) : Int {
b <v1> NEW()
object : A by b {} <v2> NEW()
o <v3> NEW()
foo <v4> NEW(<v3>)
foo() <v4> COPY
o.foo() <v4> COPY
foo() <v4> NEW(<v3>)
o.foo() <v4> COPY
=====================
@@ -12,8 +12,7 @@ fun get(_this: Any, p: PropertyMetadata): Int = 0
== a ==
val a = Delegate()
---------------------
Delegate <v0> NEW()
Delegate() <v0> COPY
Delegate() <v0> NEW()
=====================
== b ==
val b by a
@@ -9,9 +9,8 @@ abstract class Bar {
fun foo() = "foo" + this.$bar
---------------------
"foo" <v0> NEW()
+ <v3> NEW(<v0>, <v2>)
this <v1> NEW()
this <v1> NEW()
$bar <v2> NEW(<v1>)
this.$bar <v2> COPY
"foo" + this.$bar <v3> COPY
"foo" + this.$bar <v3> NEW(<v0>, <v2>)
=====================