52 lines
1.1 KiB
Plaintext
Vendored
52 lines
1.1 KiB
Plaintext
Vendored
== Ab ==
|
|
abstract class Ab {
|
|
abstract fun getArray() : Array<Int>
|
|
}
|
|
---------------------
|
|
L0:
|
|
1 <START>
|
|
L1:
|
|
<END> NEXT:[<SINK>]
|
|
error:
|
|
<ERROR> PREV:[]
|
|
sink:
|
|
<SINK> PREV:[<ERROR>, <END>]
|
|
=====================
|
|
== getArray ==
|
|
abstract fun getArray() : Array<Int>
|
|
---------------------
|
|
L0:
|
|
1 <START>
|
|
L1:
|
|
<END> NEXT:[<SINK>]
|
|
error:
|
|
<ERROR> PREV:[]
|
|
sink:
|
|
<SINK> PREV:[<ERROR>, <END>]
|
|
=====================
|
|
== test ==
|
|
fun test(ab: Ab) {
|
|
ab.getArray()[1]
|
|
}
|
|
---------------------
|
|
L0:
|
|
1 <START>
|
|
v(ab: Ab)
|
|
magic[FAKE_INITIALIZER](ab: Ab) -> <v0>
|
|
w(ab|<v0>)
|
|
2 mark({ ab.getArray()[1] })
|
|
mark(ab.getArray()[1])
|
|
mark(ab.getArray())
|
|
r(ab) -> <v1>
|
|
mark(getArray())
|
|
call(getArray(), getArray|<v1>) -> <v2>
|
|
r(1) -> <v3>
|
|
mark(ab.getArray()[1])
|
|
call(ab.getArray()[1], get|<v2>, <v3>) -> <v4>
|
|
L1:
|
|
1 <END> NEXT:[<SINK>]
|
|
error:
|
|
<ERROR> PREV:[]
|
|
sink:
|
|
<SINK> PREV:[<ERROR>, <END>]
|
|
===================== |