Add tests for element -> pseudo-value mapping

This commit is contained in:
Alexey Sedunov
2014-05-19 18:32:03 +04:00
parent d2c055e9da
commit 4a5d2e6728
78 changed files with 3105 additions and 1 deletions
@@ -0,0 +1,31 @@
== foo ==
fun foo() {
val a = Array<Int>
3
a[10] = 4
2
a[10]
100
a[10] += 1
}
---------------------
Array <v0> NEW()
Array<Int> <v0> COPY
3 <v1> NEW()
a <v2> NEW()
10 <v3> NEW()
4 <v4> NEW()
a[10] = 4 <v5> NEW(<v2>, <v3>, <v4>)
2 <v6> NEW()
a <v7> NEW()
10 <v8> NEW()
a[10] <v9> NEW(<v7>, <v8>)
100 <v10> NEW()
a <v16> NEW()
10 <v17> NEW()
a[10] <v13> NEW(<v11>, <v12>)
+= <v15> NEW(<v13>, <v14>)
1 <v14> NEW()
a[10] += 1 <v18> NEW(<v16>, <v17>, <v15>)
{ val a = Array<Int> 3 a[10] = 4 2 a[10] 100 a[10] += 1 } <v18> COPY
=====================
@@ -0,0 +1,12 @@
== test ==
fun test(array: Array<(Int)->Unit>) {
array[11](3)
}
---------------------
array <v1> NEW()
11 <v2> NEW()
array[11] <v5> NEW(<v3>, <v4>)
3 <v4> NEW()
array[11](3) <v5> COPY
{ array[11](3) } <v5> COPY
=====================
@@ -0,0 +1,23 @@
== Ab ==
abstract class Ab {
abstract fun getArray() : Array<Int>
}
---------------------
=====================
== getArray ==
abstract fun getArray() : Array<Int>
---------------------
=====================
== test ==
fun test(ab: Ab) {
ab.getArray()[1]
}
---------------------
ab <v1> NEW()
getArray <v2> NEW(<v1>)
getArray() <v2> COPY
ab.getArray() <v2> COPY
1 <v3> NEW()
ab.getArray()[1] <v4> NEW(<v2>, <v3>)
{ ab.getArray()[1] } <v4> COPY
=====================
@@ -0,0 +1,12 @@
== foo ==
fun foo(a: Array<Int>) {
a[0]++
}
---------------------
a <v5> NEW()
0 <v6> NEW()
a[0] <v3> NEW(<v1>, <v2>)
++ <v4> NEW(<v3>)
a[0]++ <v7> NEW(<v5>, <v6>, <v4>)
{ a[0]++ } <v7> COPY
=====================
@@ -0,0 +1,11 @@
== foo ==
fun foo(a: Array<Int>) {
a[1] = 2
}
---------------------
a <v1> NEW()
1 <v2> NEW()
2 <v3> NEW()
a[1] = 2 <v4> NEW(<v1>, <v2>, <v3>)
{ a[1] = 2 } <v4> COPY
=====================
@@ -0,0 +1,13 @@
== foo ==
fun foo(a: Array<Int>) {
a[0] += 1
}
---------------------
a <v6> NEW()
0 <v7> NEW()
a[0] <v3> NEW(<v1>, <v2>)
+= <v5> NEW(<v3>, <v4>)
1 <v4> NEW()
a[0] += 1 <v8> NEW(<v6>, <v7>, <v5>)
{ a[0] += 1 } <v8> COPY
=====================