Files
kotlin-fork/compiler/testData/cfg/arrays/ArrayAccess.instructions
T
Svetlana Isakova aa26db0538 Updated tests for control flow: call instruction stores call element
instead of callee expression
2014-07-08 14:57:38 +04:00

50 lines
1.1 KiB
Plaintext

== foo ==
fun foo() {
val a = Array<Int>
3
a[10] = 4
2
a[10]
100
a[10] += 1
}
---------------------
L0:
1 <START>
2 mark({ val a = Array<Int> 3 a[10] = 4 2 a[10] 100 a[10] += 1 })
v(val a = Array<Int>)
mark(Array<Int>)
call(Array<Int>, <init>) -> <v0>
w(a|<v0>)
r(3) -> <v1>
mark(a[10])
r(a) -> <v2>
r(10) -> <v3>
r(4) -> <v4>
call(a[10] = 4, set|<v2>, <v3>, <v4>) -> <v5>
r(2) -> <v6>
mark(a[10])
r(a) -> <v7>
r(10) -> <v8>
mark(a[10])
call(a[10], get|<v7>, <v8>) -> <v9>
r(100) -> <v10>
mark(a[10])
r(a) -> <v11>
r(10) -> <v12>
mark(a[10])
call(a[10], get|<v11>, <v12>) -> <v13>
r(1) -> <v14>
mark(a[10] += 1)
call(a[10] += 1, plus|<v13>, <v14>) -> <v15>
r(a) -> <v16>
r(10) -> <v17>
call(a[10] += 1, set|<v16>, <v17>, <v15>) -> <v18>
L1:
1 <END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================