Files
kotlin-fork/compiler/testData/cfg/Assignments.instructions
T
2013-12-05 13:28:39 +04:00

81 lines
2.7 KiB
Plaintext

== Test ==
class Test {
var x : Int;
}
---------------------
L0:
<START>
v(var x : Int;)
L1:
<END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================
== assignments ==
fun assignments() : Unit {
var x = 1
x = 2
x += 2
x = if (true) 1 else 2
val y = true && false
val z = false && true
val t = Test();
t.x = 1
}
---------------------
L0:
<START>
mark({ var x = 1 x = 2 x += 2 x = if (true) 1 else 2 val y = true && false val z = false && true val t = Test(); t.x = 1 })
v(var x = 1)
r(1)
w(x)
r(2)
w(x)
mark(x += 2)
r(x)
r(2)
call(+=, plus)
w(x)
mark(if (true) 1 else 2)
r(true)
jf(L2) NEXT:[r(2), r(1)]
r(1)
jmp(L3) NEXT:[w(x)]
L2:
r(2) PREV:[jf(L2)]
L3:
w(x) PREV:[jmp(L3), r(2)]
v(val y = true && false)
r(true)
jf(L4) NEXT:[r(true && false), r(false)]
r(false)
L4:
r(true && false) PREV:[jf(L4), r(false)]
w(y)
v(val z = false && true)
r(false)
jf(L5) NEXT:[r(false && true), r(true)]
r(true)
L5:
r(false && true) PREV:[jf(L5), r(true)]
w(z)
v(val t = Test())
mark(Test())
call(Test, <init>)
w(t)
r(1)
r(t)
w(t.x)
L1:
<END> NEXT:[<SINK>]
error:
<ERROR> PREV:[]
sink:
<SINK> PREV:[<ERROR>, <END>]
=====================