Files
kotlin-fork/compiler/testData/cfg/arrays/ArrayAccess.instructions
T

47 lines
1.1 KiB
Plaintext
Vendored

== foo ==
fun foo(a: Array<Int>) {
3
a[10] = 4
2
a[10]
100
a[10] += 1
}
---------------------
L0:
1 <START>
v(a: Array<Int>)
magic[FAKE_INITIALIZER](a: Array<Int>) -> <v0>
w(a|<v0>)
2 mark({ 3 a[10] = 4 2 a[10] 100 a[10] += 1 })
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>]
=====================