Added tests for 'uninitialized vars'; 'vals reassignment' (for simple flow)
This commit is contained in:
@@ -0,0 +1,99 @@
|
|||||||
|
namespace uninitialized_vals {
|
||||||
|
|
||||||
|
fun t1(b : Boolean) {
|
||||||
|
val v : Int
|
||||||
|
if (<!UNINITIALIZED_VARIABLE!>v<!> == 0) {}
|
||||||
|
|
||||||
|
var u: String
|
||||||
|
if (b) {
|
||||||
|
u = "s"
|
||||||
|
}
|
||||||
|
doSmth(<!UNINITIALIZED_VARIABLE!>u<!>)
|
||||||
|
|
||||||
|
var r: String
|
||||||
|
if (b) {
|
||||||
|
r = "s"
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
r = "tg"
|
||||||
|
}
|
||||||
|
doSmth(r)
|
||||||
|
|
||||||
|
var t: String
|
||||||
|
if (b)
|
||||||
|
doSmth(<!UNINITIALIZED_VARIABLE!>t<!>)
|
||||||
|
else
|
||||||
|
t = "ss"
|
||||||
|
doSmth(<!UNINITIALIZED_VARIABLE!>t<!>)
|
||||||
|
|
||||||
|
val i = 3
|
||||||
|
doSmth(i)
|
||||||
|
if (b) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
doSmth(i)
|
||||||
|
if (i is Int) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun t2() {
|
||||||
|
val s = "ss"
|
||||||
|
|
||||||
|
for (i in 0..2) {
|
||||||
|
doSmth(s)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun doSmth(s: String) {}
|
||||||
|
fun doSmth(i: Int) {}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace reassigned_vals {
|
||||||
|
|
||||||
|
fun t1() {
|
||||||
|
val a : Int = 1
|
||||||
|
<!VAL_REASSIGNMENT!>a<!> = 2
|
||||||
|
|
||||||
|
var b : Int = 1
|
||||||
|
b = 3
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract enum class ProtocolState {
|
||||||
|
WAITING {
|
||||||
|
override fun signal() = ProtocolState.TALKING
|
||||||
|
}
|
||||||
|
|
||||||
|
TALKING {
|
||||||
|
override fun signal() = ProtocolState.WAITING
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract fun signal() : ProtocolState
|
||||||
|
}
|
||||||
|
|
||||||
|
fun t2() {
|
||||||
|
val x: ProtocolState = ProtocolState.WAITING
|
||||||
|
<!VAL_REASSIGNMENT!>x<!> = x.signal()
|
||||||
|
<!VAL_REASSIGNMENT!>x<!> = x.signal()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun t3() {
|
||||||
|
val x = 1
|
||||||
|
<!VAL_REASSIGNMENT!>x<!> += 2
|
||||||
|
val y = 3
|
||||||
|
<!VAL_REASSIGNMENT!>y<!> *= 4
|
||||||
|
var z = 5
|
||||||
|
z -= y
|
||||||
|
}
|
||||||
|
|
||||||
|
fun t4() {
|
||||||
|
for (i in 0..2) {
|
||||||
|
<!VAL_REASSIGNMENT!>i<!> += 1
|
||||||
|
fun t5() {
|
||||||
|
<!VAL_REASSIGNMENT!>i<!> += 3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user