Pseudocode: Add valued instructions and unbound values to AbstractPseudoValueTest

This commit is contained in:
Alexey Sedunov
2014-06-25 19:32:20 +04:00
parent 21be468e6c
commit f226d99d36
77 changed files with 897 additions and 777 deletions
@@ -15,7 +15,9 @@ class AnonymousInitializers() {
}
}
---------------------
34 <v0>: Int NEW()
12 <v2>: Int NEW()
13 <v4>: Int NEW()
<v1>: AnonymousInitializers NEW: magic($i) -> <v1>
<v3>: AnonymousInitializers NEW: magic($i) -> <v3>
34 <v0>: Int NEW: r(34) -> <v0>
12 <v2>: Int NEW: r(12) -> <v2>
13 <v4>: Int NEW: r(13) -> <v4>
=====================
@@ -3,7 +3,7 @@ fun foo() {
{}
}
---------------------
{} <v0>: * NEW()
{} <v0>: * NEW: r({}) -> <v0>
{ {} } <v0>: * COPY
=====================
== anonymous_0 ==
@@ -3,6 +3,6 @@ fun fail() : Nothing {
throw java.lang.RuntimeException()
}
---------------------
RuntimeException() <v0>: {<: Throwable} NEW()
RuntimeException() <v0>: {<: Throwable} NEW: call(RuntimeException, <init>) -> <v0>
java.lang.RuntimeException() <v0>: {<: Throwable} COPY
=====================
@@ -3,6 +3,6 @@ fun <T> foo() {
T
}
---------------------
T <v0>: * NEW()
T <v0>: * NEW: magic(T) -> <v0>
{ T } <v0>: * COPY
=====================
@@ -17,11 +17,12 @@ class C() {
}
}
---------------------
1 <v0>: Int NEW()
1 <v0>: Int NEW: r(1) -> <v0>
=====================
== doSmth ==
fun doSmth(i: Int) {}
---------------------
<v0>: Int NEW: magic(i: Int) -> <v0>
=====================
== test1 ==
fun test1() {
@@ -33,8 +34,9 @@ fun test1() {
}
}
---------------------
1 <v1>: Int NEW()
object { val x : Int { $x = 1 } } <v2>: <no name provided> NEW()
<v0>: <no name provided> NEW: magic($x) -> <v0>
1 <v1>: Int NEW: r(1) -> <v1>
object { val x : Int { $x = 1 } } <v2>: <no name provided> NEW: r(object { val x : Int { $x = 1 } }) -> <v2>
=====================
== O ==
object O {
@@ -44,7 +46,8 @@ object O {
}
}
---------------------
1 <v1>: Int NEW()
<v0>: O NEW: magic($x) -> <v0>
1 <v1>: Int NEW: r(1) -> <v1>
=====================
== test2 ==
fun test2() {
@@ -54,9 +57,9 @@ fun test2() {
}
}
---------------------
1 <v0>: Int NEW()
b <v1>: Int NEW()
object { val x = b } <v2>: <no name provided> NEW()
1 <v0>: Int NEW: r(1) -> <v0>
b <v1>: Int NEW: r(b) -> <v1>
object { val x = b } <v2>: <no name provided> NEW: r(object { val x = b }) -> <v2>
=====================
== test3 ==
fun test3() {
@@ -68,14 +71,15 @@ fun test3() {
}
}
---------------------
object { val y : Int fun inner_bar() { y = 10 } } <v0>: <no name provided> NEW()
object { val y : Int fun inner_bar() { y = 10 } } <v0>: <no name provided> NEW: r(object { val y : Int fun inner_bar() { y = 10 } }) -> <v0>
=====================
== inner_bar ==
fun inner_bar() {
y = 10
}
---------------------
10 <v1>: Int NEW()
<v0>: <no name provided> NEW: magic(y) -> <v0>
10 <v1>: Int NEW: r(10) -> <v1>
=====================
== test4 ==
fun test4() {
@@ -91,15 +95,17 @@ fun test4() {
}
}
---------------------
1 <v1>: Int NEW()
object { val x : Int val y : Int { $x = 1 } fun ggg() { y = 10 } } <v2>: <no name provided> NEW()
<v0>: <no name provided> NEW: magic($x) -> <v0>
1 <v1>: Int NEW: r(1) -> <v1>
object { val x : Int val y : Int { $x = 1 } fun ggg() { y = 10 } } <v2>: <no name provided> NEW: r(object { val x : Int val y : Int { $x = 1 } fun ggg() { y = 10 } }) -> <v2>
=====================
== ggg ==
fun ggg() {
y = 10
}
---------------------
10 <v1>: Int NEW()
<v0>: <no name provided> NEW: magic(y) -> <v0>
10 <v1>: Int NEW: r(10) -> <v1>
=====================
== test5 ==
fun test5() {
@@ -117,21 +123,24 @@ fun test5() {
}
}
---------------------
1 <v0>: Int NEW()
2 <v2>: Int NEW()
object { var x = 1 { $x = 2 } fun foo() { x = 3 } fun bar() { x = 4 } } <v3>: <no name provided> NEW()
<v1>: <no name provided> NEW: magic($x) -> <v1>
1 <v0>: Int NEW: r(1) -> <v0>
2 <v2>: Int NEW: r(2) -> <v2>
object { var x = 1 { $x = 2 } fun foo() { x = 3 } fun bar() { x = 4 } } <v3>: <no name provided> NEW: r(object { var x = 1 { $x = 2 } fun foo() { x = 3 } fun bar() { x = 4 } }) -> <v3>
=====================
== foo ==
fun foo() {
x = 3
}
---------------------
3 <v1>: Int NEW()
<v0>: <no name provided> NEW: magic(x) -> <v0>
3 <v1>: Int NEW: r(3) -> <v1>
=====================
== bar ==
fun bar() {
x = 4
}
---------------------
4 <v1>: Int NEW()
<v0>: <no name provided> NEW: magic(x) -> <v0>
4 <v1>: Int NEW: r(4) -> <v1>
=====================
@@ -17,7 +17,7 @@ class B : A {
== foo ==
override fun foo() = 10
---------------------
10 <v0>: Int NEW()
10 <v0>: Int NEW: r(10) -> <v0>
=====================
== foo ==
fun foo(b: B) : Int {
@@ -25,9 +25,10 @@ fun foo(b: B) : Int {
return o.foo()
}
---------------------
b <v1>: * NEW()
object : A by b {} <v2>: <no name provided> NEW()
o <v3>: {<: A} NEW()
foo() <v4>: Int NEW(<v3>)
o.foo() <v4>: Int COPY
<v0>: B NEW: magic(b: B) -> <v0>
b <v1>: * NEW: r(b) -> <v1>
object : A by b {} <v2>: <no name provided> NEW: r(object : A by b {}) -> <v2>
o <v3>: {<: A} NEW: r(o) -> <v3>
foo() <v4>: Int NEW: call(foo, foo|<v3>) -> <v4>
o.foo() <v4>: Int COPY
=====================
@@ -21,12 +21,12 @@ fun f() {
}
}
---------------------
"" <v0>: String NEW()
"" <v0>: String NEW: r("") -> <v0>
=====================
== loc ==
fun loc() {
val x3 = ""
}
---------------------
"" <v0>: String NEW()
"" <v0>: String NEW: r("") -> <v0>
=====================
@@ -16,5 +16,5 @@ get() {
return b
}
---------------------
b <v0>: Int NEW()
b <v0>: Int NEW: r(b) -> <v0>
=====================
@@ -8,12 +8,12 @@ class C {
== component1 ==
fun component1() = 1
---------------------
1 <v0>: Int NEW()
1 <v0>: Int NEW: r(1) -> <v0>
=====================
== component2 ==
fun component2() = 2
---------------------
2 <v0>: Int NEW()
2 <v0>: Int NEW: r(2) -> <v0>
=====================
== test ==
fun test(c: C) {
@@ -21,8 +21,9 @@ fun test(c: C) {
val d = 1
}
---------------------
a <v2>: Int NEW(<v1>)
b <v3>: Int NEW(<v1>)
c <v1>: C NEW()
1 <v4>: Int NEW()
<v0>: C NEW: magic(c: C) -> <v0>
a <v2>: Int NEW: call(a, component1|<v1>) -> <v2>
b <v3>: Int NEW: call(b, component2|<v1>) -> <v3>
c <v1>: C NEW: r(c) -> <v1>
1 <v4>: Int NEW: r(1) -> <v4>
=====================
@@ -4,7 +4,10 @@ fun foo(x: Int) {
a
}
---------------------
x <v1>: * NEW()
a <v4>: * NEW()
{ val (a, b) = x a } <v4>: * COPY
<v0>: Int NEW: magic(x: Int) -> <v0>
<v2>: {<: [ERROR : component1() return type]} NEW: magic(a|<v1>) -> <v2>
<v3>: {<: [ERROR : component2() return type]} NEW: magic(b|<v1>) -> <v3>
x <v1>: * NEW: r(x) -> <v1>
a <v4>: * NEW: r(a) -> <v4>
{ val (a, b) = x a } <v4>: * COPY
=====================
@@ -7,15 +7,17 @@ class Delegate {
== get ==
fun get(_this: Any, p: PropertyMetadata): Int = 0
---------------------
0 <v2>: Int NEW()
<v0>: {<: Any} NEW: magic(_this: Any) -> <v0>
<v1>: {<: PropertyMetadata} NEW: magic(p: PropertyMetadata) -> <v1>
0 <v2>: Int NEW: r(0) -> <v2>
=====================
== a ==
val a = Delegate()
---------------------
Delegate() <v0>: Delegate NEW()
Delegate() <v0>: Delegate NEW: call(Delegate, <init>) -> <v0>
=====================
== b ==
val b by a
---------------------
a <v0>: * NEW()
a <v0>: * NEW: r(a) -> <v0>
=====================
@@ -8,6 +8,7 @@ class C {
}
}
---------------------
$a <v1>: * NEW(<v0>)
{ $a } <v1>: * COPY
<v0>: C NEW: magic($a) -> <v0>
$a <v1>: * NEW: r($a|<v0>) -> <v1>
{ $a } <v1>: * COPY
=====================
@@ -8,10 +8,10 @@ abstract class Bar {
== foo ==
fun foo() = "foo" + this.$bar
---------------------
"foo" <v0>: String NEW()
this <v1>: {<: Bar} COPY
this <v1>: {<: Bar} NEW()
$bar <v2>: {<: Any?} NEW(<v1>)
this.$bar <v2>: {<: Any?} COPY
"foo" + this.$bar <v3>: String NEW(<v0>, <v2>)
"foo" <v0>: String NEW: r("foo") -> <v0>
this <v1>: {<: Bar} COPY
this <v1>: {<: Bar} NEW: r(this) -> <v1>
$bar <v2>: {<: Any?} NEW: r($bar|<v1>) -> <v2>
this.$bar <v2>: {<: Any?} COPY
"foo" + this.$bar <v3>: String NEW: call(+, plus|<v0>, <v2>) -> <v3>
=====================