Merge remote branch 'origin/master'
This commit is contained in:
@@ -41,12 +41,12 @@ l0:
|
||||
jf(l3) NEXT:[read (Unit), r(2)] PREV:[r(2 > 3)]
|
||||
r(2) NEXT:[ret l1] PREV:[jf(l3)]
|
||||
ret l1 NEXT:[<END>] PREV:[r(2)]
|
||||
jmp(l4) NEXT:[r(2)] PREV:[]
|
||||
* jmp(l4) NEXT:[r(2)] PREV:[]
|
||||
l3:
|
||||
read (Unit) NEXT:[r(2)] PREV:[jf(l3)]
|
||||
l2:
|
||||
l4:
|
||||
r(2) NEXT:[<END>] PREV:[jmp?(l2), jmp(l4), read (Unit)]
|
||||
r(2) NEXT:[<END>] PREV:[jmp?(l2), read (Unit)]
|
||||
l1:
|
||||
<END> NEXT:[] PREV:[ret l1, r(2)]
|
||||
error:
|
||||
@@ -67,12 +67,12 @@ l3:
|
||||
r(2 > 3) NEXT:[jf(l5)] PREV:[r(>)]
|
||||
jf(l5) NEXT:[read (Unit), ret l4] PREV:[r(2 > 3)]
|
||||
ret l4 NEXT:[<END>] PREV:[jf(l5)]
|
||||
jmp(l6) NEXT:[<END>] PREV:[]
|
||||
* jmp(l6) NEXT:[<END>] PREV:[]
|
||||
l5:
|
||||
read (Unit) NEXT:[<END>] PREV:[jf(l5)]
|
||||
l4:
|
||||
l6:
|
||||
<END> NEXT:[] PREV:[ret l4, jmp(l6), read (Unit)]
|
||||
<END> NEXT:[] PREV:[ret l4, read (Unit)]
|
||||
error:
|
||||
<ERROR> NEXT:[] PREV:[]
|
||||
=====================
|
||||
@@ -113,12 +113,12 @@ l3:
|
||||
r(2 > 3) NEXT:[jf(l5)] PREV:[r(>)]
|
||||
jf(l5) NEXT:[read (Unit), ret l4] PREV:[r(2 > 3)]
|
||||
ret l4 NEXT:[<END>] PREV:[jf(l5)]
|
||||
jmp(l6) NEXT:[<END>] PREV:[]
|
||||
* jmp(l6) NEXT:[<END>] PREV:[]
|
||||
l5:
|
||||
read (Unit) NEXT:[<END>] PREV:[jf(l5)]
|
||||
l4:
|
||||
l6:
|
||||
<END> NEXT:[] PREV:[ret l4, jmp(l6), read (Unit)]
|
||||
<END> NEXT:[] PREV:[ret l4, read (Unit)]
|
||||
error:
|
||||
<ERROR> NEXT:[] PREV:[]
|
||||
=====================
|
||||
@@ -145,12 +145,12 @@ l2:
|
||||
jf(l5) NEXT:[read (Unit), r(2)] PREV:[r(2 > 3)]
|
||||
r(2) NEXT:[ret l3] PREV:[jf(l5)]
|
||||
ret l3 NEXT:[<END>] PREV:[r(2)]
|
||||
jmp(l6) NEXT:[r(2)] PREV:[]
|
||||
* jmp(l6) NEXT:[r(2)] PREV:[]
|
||||
l5:
|
||||
read (Unit) NEXT:[r(2)] PREV:[jf(l5)]
|
||||
l4:
|
||||
l6:
|
||||
r(2) NEXT:[<END>] PREV:[jmp?(l4), jmp(l6), read (Unit)]
|
||||
r(2) NEXT:[<END>] PREV:[jmp?(l4), read (Unit)]
|
||||
l3:
|
||||
<END> NEXT:[] PREV:[ret l3, r(2)]
|
||||
error:
|
||||
@@ -197,12 +197,12 @@ l2:
|
||||
jf(l5) NEXT:[read (Unit), r(2)] PREV:[r(2 > 3)]
|
||||
r(2) NEXT:[ret l3] PREV:[jf(l5)]
|
||||
ret l3 NEXT:[<END>] PREV:[r(2)]
|
||||
jmp(l6) NEXT:[r(2)] PREV:[]
|
||||
* jmp(l6) NEXT:[r(2)] PREV:[]
|
||||
l5:
|
||||
read (Unit) NEXT:[r(2)] PREV:[jf(l5)]
|
||||
l4:
|
||||
l6:
|
||||
r(2) NEXT:[<END>] PREV:[jmp?(l4), jmp(l6), read (Unit)]
|
||||
r(2) NEXT:[<END>] PREV:[jmp?(l4), read (Unit)]
|
||||
l3:
|
||||
<END> NEXT:[] PREV:[ret l3, r(2)]
|
||||
error:
|
||||
@@ -238,12 +238,12 @@ l4:
|
||||
jf(l7) NEXT:[read (Unit), r(2)] PREV:[r(2 > 3)]
|
||||
r(2) NEXT:[jmp(l3)] PREV:[jf(l7)]
|
||||
jmp(l3) NEXT:[read (Unit)] PREV:[r(2)]
|
||||
jmp(l8) NEXT:[r(2)] PREV:[]
|
||||
* jmp(l8) NEXT:[r(2)] PREV:[]
|
||||
l7:
|
||||
read (Unit) NEXT:[r(2)] PREV:[jf(l7)]
|
||||
l6:
|
||||
l8:
|
||||
r(2) NEXT:[jmp(l2)] PREV:[jmp?(l6), jmp(l8), read (Unit)]
|
||||
r(2) NEXT:[jmp(l2)] PREV:[jmp?(l6), read (Unit)]
|
||||
jmp(l2) NEXT:[r(true)] PREV:[r(2)]
|
||||
l3:
|
||||
read (Unit) NEXT:[<END>] PREV:[jf(l3), jmp(l3)]
|
||||
@@ -282,11 +282,11 @@ l5:
|
||||
r(2 > 3) NEXT:[jf(l7)] PREV:[r(>)]
|
||||
jf(l7) NEXT:[read (Unit), jmp(l4)] PREV:[r(2 > 3)]
|
||||
jmp(l4) NEXT:[read (Unit)] PREV:[jf(l7)]
|
||||
jmp(l8) NEXT:[jmp(l3)] PREV:[]
|
||||
* jmp(l8) NEXT:[jmp(l3)] PREV:[]
|
||||
l7:
|
||||
read (Unit) NEXT:[jmp(l3)] PREV:[jf(l7)]
|
||||
l8:
|
||||
jmp(l3) NEXT:[r(true)] PREV:[jmp(l8), read (Unit)]
|
||||
jmp(l3) NEXT:[r(true)] PREV:[read (Unit)]
|
||||
l4:
|
||||
read (Unit) NEXT:[r(5)] PREV:[jf(l4), jmp(l4)]
|
||||
r(5) NEXT:[r(2)] PREV:[read (Unit)]
|
||||
@@ -326,11 +326,11 @@ l5:
|
||||
r(2 > 3) NEXT:[jf(l7)] PREV:[r(>)]
|
||||
jf(l7) NEXT:[read (Unit), jmp(l4)] PREV:[r(2 > 3)]
|
||||
jmp(l4) NEXT:[read (Unit)] PREV:[jf(l7)]
|
||||
jmp(l8) NEXT:[jmp(l3)] PREV:[]
|
||||
* jmp(l8) NEXT:[jmp(l3)] PREV:[]
|
||||
l7:
|
||||
read (Unit) NEXT:[jmp(l3)] PREV:[jf(l7)]
|
||||
l8:
|
||||
jmp(l3) NEXT:[r(true)] PREV:[jmp(l8), read (Unit)]
|
||||
jmp(l3) NEXT:[r(true)] PREV:[read (Unit)]
|
||||
l4:
|
||||
read (Unit) NEXT:[r(2)] PREV:[jf(l4), jmp(l4)]
|
||||
l2:
|
||||
@@ -374,12 +374,12 @@ l5:
|
||||
jf(l7) NEXT:[read (Unit), r(2)] PREV:[r(2 > 3)]
|
||||
r(2) NEXT:[jmp(l4)] PREV:[jf(l7)]
|
||||
jmp(l4) NEXT:[jmp?(l6)] PREV:[r(2)]
|
||||
jmp(l8) NEXT:[r(2)] PREV:[]
|
||||
* jmp(l8) NEXT:[r(2)] PREV:[]
|
||||
l7:
|
||||
read (Unit) NEXT:[r(2)] PREV:[jf(l7)]
|
||||
l6:
|
||||
l8:
|
||||
r(2) NEXT:[jmp?(l4)] PREV:[jmp?(l6), jmp(l8), read (Unit)]
|
||||
r(2) NEXT:[jmp?(l4)] PREV:[jmp?(l6), read (Unit)]
|
||||
jmp?(l4) NEXT:[jmp?(l6), read (Unit)] PREV:[r(2)]
|
||||
l2:
|
||||
read (Unit) NEXT:[<END>] PREV:[jmp?(l2), jmp?(l4)]
|
||||
@@ -422,11 +422,11 @@ l6:
|
||||
r(2 > 3) NEXT:[jf(l7)] PREV:[r(>)]
|
||||
jf(l7) NEXT:[read (Unit), jmp(l5)] PREV:[r(2 > 3)]
|
||||
jmp(l5) NEXT:[r(1)] PREV:[jf(l7)]
|
||||
jmp(l8) NEXT:[jmp?(l5)] PREV:[]
|
||||
* jmp(l8) NEXT:[jmp?(l5)] PREV:[]
|
||||
l7:
|
||||
read (Unit) NEXT:[jmp?(l5)] PREV:[jf(l7)]
|
||||
l8:
|
||||
jmp?(l5) NEXT:[r(1), read (Unit)] PREV:[jmp(l8), read (Unit)]
|
||||
jmp?(l5) NEXT:[r(1), read (Unit)] PREV:[read (Unit)]
|
||||
l3:
|
||||
read (Unit) NEXT:[r(5)] PREV:[jmp?(l3), jmp?(l5)]
|
||||
r(5) NEXT:[r(2)] PREV:[read (Unit)]
|
||||
@@ -470,11 +470,11 @@ l6:
|
||||
r(2 > 3) NEXT:[jf(l7)] PREV:[r(>)]
|
||||
jf(l7) NEXT:[read (Unit), jmp(l5)] PREV:[r(2 > 3)]
|
||||
jmp(l5) NEXT:[r(1)] PREV:[jf(l7)]
|
||||
jmp(l8) NEXT:[jmp?(l5)] PREV:[]
|
||||
* jmp(l8) NEXT:[jmp?(l5)] PREV:[]
|
||||
l7:
|
||||
read (Unit) NEXT:[jmp?(l5)] PREV:[jf(l7)]
|
||||
l8:
|
||||
jmp?(l5) NEXT:[r(1), read (Unit)] PREV:[jmp(l8), read (Unit)]
|
||||
jmp?(l5) NEXT:[r(1), read (Unit)] PREV:[read (Unit)]
|
||||
l3:
|
||||
read (Unit) NEXT:[r(2)] PREV:[jmp?(l3), jmp?(l5)]
|
||||
l2:
|
||||
@@ -500,12 +500,12 @@ l0:
|
||||
r(1) NEXT:[r(2)] PREV:[jmp?(l2)]
|
||||
r(2) NEXT:[ret(*) l1] PREV:[r(1)]
|
||||
ret(*) l1 NEXT:[<END>] PREV:[r(2)]
|
||||
ret(*) l1 NEXT:[<END>] PREV:[]
|
||||
* ret(*) l1 NEXT:[<END>] PREV:[]
|
||||
l2:
|
||||
r(2) NEXT:[ret(*) l1] PREV:[jmp?(l2)]
|
||||
ret(*) l1 NEXT:[<END>] PREV:[r(2)]
|
||||
l1:
|
||||
<END> NEXT:[] PREV:[ret(*) l1, ret(*) l1, ret(*) l1]
|
||||
<END> NEXT:[] PREV:[ret(*) l1, ret(*) l1]
|
||||
error:
|
||||
<ERROR> NEXT:[] PREV:[]
|
||||
=====================
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
== t1 ==
|
||||
fun t1() {
|
||||
for (i in 1..2) {
|
||||
doSmth(i)
|
||||
}
|
||||
}
|
||||
---------------------
|
||||
l0:
|
||||
<START> NEXT:[r(1)] PREV:[]
|
||||
r(1) NEXT:[r(2)] PREV:[<START>]
|
||||
r(2) NEXT:[r(..)] PREV:[r(1)]
|
||||
r(..) NEXT:[r(1..2)] PREV:[r(2)]
|
||||
r(1..2) NEXT:[w(i)] PREV:[r(..)]
|
||||
w(i) NEXT:[jmp?(l2)] PREV:[r(1..2)]
|
||||
l3:
|
||||
jmp?(l2) NEXT:[read (Unit), r(i)] PREV:[w(i)]
|
||||
l4:
|
||||
l5:
|
||||
r(i) NEXT:[r(doSmth)] PREV:[jmp?(l2), jmp?(l4)]
|
||||
r(doSmth) NEXT:[r(doSmth(i))] PREV:[r(i)]
|
||||
r(doSmth(i)) NEXT:[jmp?(l4)] PREV:[r(doSmth)]
|
||||
jmp?(l4) NEXT:[r(i), read (Unit)] PREV:[r(doSmth(i))]
|
||||
l2:
|
||||
read (Unit) NEXT:[<END>] PREV:[jmp?(l2), jmp?(l4)]
|
||||
l1:
|
||||
<END> NEXT:[] PREV:[read (Unit)]
|
||||
error:
|
||||
<ERROR> NEXT:[] PREV:[]
|
||||
=====================
|
||||
== doSmth ==
|
||||
fun doSmth(i: Int) {}
|
||||
---------------------
|
||||
l0:
|
||||
<START> NEXT:[read (Unit)] PREV:[]
|
||||
read (Unit) NEXT:[<END>] PREV:[<START>]
|
||||
l1:
|
||||
<END> NEXT:[] PREV:[read (Unit)]
|
||||
error:
|
||||
<ERROR> NEXT:[] PREV:[]
|
||||
=====================
|
||||
@@ -0,0 +1,7 @@
|
||||
fun t1() {
|
||||
for (i in 1..2) {
|
||||
doSmth(i)
|
||||
}
|
||||
}
|
||||
|
||||
fun doSmth(i: Int) {}
|
||||
@@ -0,0 +1,98 @@
|
||||
== t1 ==
|
||||
fun t1(b: Boolean) {
|
||||
var u: String
|
||||
if (b) {
|
||||
u = "s"
|
||||
}
|
||||
doSmth(u)
|
||||
|
||||
var r: String
|
||||
if (b) {
|
||||
r = "s"
|
||||
}
|
||||
else {
|
||||
r = "t"
|
||||
}
|
||||
doSmth(r)
|
||||
}
|
||||
---------------------
|
||||
l0:
|
||||
<START> NEXT:[r(b)] PREV:[]
|
||||
r(b) NEXT:[jf(l2)] PREV:[<START>]
|
||||
jf(l2) NEXT:[read (Unit), r("s")] PREV:[r(b)]
|
||||
r("s") NEXT:[w(u)] PREV:[jf(l2)]
|
||||
w(u) NEXT:[jmp(l3)] PREV:[r("s")]
|
||||
jmp(l3) NEXT:[r(u)] PREV:[w(u)]
|
||||
l2:
|
||||
read (Unit) NEXT:[r(u)] PREV:[jf(l2)]
|
||||
l3:
|
||||
r(u) NEXT:[r(doSmth)] PREV:[jmp(l3), read (Unit)]
|
||||
r(doSmth) NEXT:[r(doSmth(u))] PREV:[r(u)]
|
||||
r(doSmth(u)) NEXT:[r(b)] PREV:[r(doSmth)]
|
||||
r(b) NEXT:[jf(l4)] PREV:[r(doSmth(u))]
|
||||
jf(l4) NEXT:[r("t"), r("s")] PREV:[r(b)]
|
||||
r("s") NEXT:[w(r)] PREV:[jf(l4)]
|
||||
w(r) NEXT:[jmp(l5)] PREV:[r("s")]
|
||||
jmp(l5) NEXT:[r(r)] PREV:[w(r)]
|
||||
l4:
|
||||
r("t") NEXT:[w(r)] PREV:[jf(l4)]
|
||||
w(r) NEXT:[r(r)] PREV:[r("t")]
|
||||
l5:
|
||||
r(r) NEXT:[r(doSmth)] PREV:[jmp(l5), w(r)]
|
||||
r(doSmth) NEXT:[r(doSmth(r))] PREV:[r(r)]
|
||||
r(doSmth(r)) NEXT:[<END>] PREV:[r(doSmth)]
|
||||
l1:
|
||||
<END> NEXT:[] PREV:[r(doSmth(r))]
|
||||
error:
|
||||
<ERROR> NEXT:[] PREV:[]
|
||||
=====================
|
||||
== t2 ==
|
||||
fun t2(b: Boolean) {
|
||||
val i = 3
|
||||
if (b) {
|
||||
return;
|
||||
}
|
||||
doSmth(i)
|
||||
if (i is Int) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
---------------------
|
||||
l0:
|
||||
<START> NEXT:[r(3)] PREV:[]
|
||||
r(3) NEXT:[w(i)] PREV:[<START>]
|
||||
w(i) NEXT:[r(b)] PREV:[r(3)]
|
||||
r(b) NEXT:[jf(l2)] PREV:[w(i)]
|
||||
jf(l2) NEXT:[read (Unit), ret l1] PREV:[r(b)]
|
||||
ret l1 NEXT:[<END>] PREV:[jf(l2)]
|
||||
* jmp(l3) NEXT:[r(i)] PREV:[]
|
||||
l2:
|
||||
read (Unit) NEXT:[r(i)] PREV:[jf(l2)]
|
||||
l3:
|
||||
r(i) NEXT:[r(doSmth)] PREV:[read (Unit)]
|
||||
r(doSmth) NEXT:[r(doSmth(i))] PREV:[r(i)]
|
||||
r(doSmth(i)) NEXT:[r(i)] PREV:[r(doSmth)]
|
||||
r(i) NEXT:[r(i is Int)] PREV:[r(doSmth(i))]
|
||||
r(i is Int) NEXT:[jf(l4)] PREV:[r(i)]
|
||||
jf(l4) NEXT:[read (Unit), ret l1] PREV:[r(i is Int)]
|
||||
ret l1 NEXT:[<END>] PREV:[jf(l4)]
|
||||
* jmp(l5) NEXT:[<END>] PREV:[]
|
||||
l4:
|
||||
read (Unit) NEXT:[<END>] PREV:[jf(l4)]
|
||||
l1:
|
||||
l5:
|
||||
<END> NEXT:[] PREV:[ret l1, ret l1, read (Unit)]
|
||||
error:
|
||||
<ERROR> NEXT:[] PREV:[]
|
||||
=====================
|
||||
== doSmth ==
|
||||
fun doSmth(s: String) {}
|
||||
---------------------
|
||||
l0:
|
||||
<START> NEXT:[read (Unit)] PREV:[]
|
||||
read (Unit) NEXT:[<END>] PREV:[<START>]
|
||||
l1:
|
||||
<END> NEXT:[] PREV:[read (Unit)]
|
||||
error:
|
||||
<ERROR> NEXT:[] PREV:[]
|
||||
=====================
|
||||
@@ -0,0 +1,31 @@
|
||||
fun t1(b: Boolean) {
|
||||
var u: String
|
||||
if (b) {
|
||||
u = "s"
|
||||
}
|
||||
doSmth(u)
|
||||
|
||||
var r: String
|
||||
if (b) {
|
||||
r = "s"
|
||||
}
|
||||
else {
|
||||
r = "t"
|
||||
}
|
||||
doSmth(r)
|
||||
}
|
||||
|
||||
fun t2(b: Boolean) {
|
||||
val i = 3
|
||||
if (b) {
|
||||
return;
|
||||
}
|
||||
doSmth(i)
|
||||
if (i is Int) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
fun doSmth(s: String) {}
|
||||
|
||||
|
||||
@@ -34,17 +34,17 @@ l0:
|
||||
<START> NEXT:[ret l1] PREV:[]
|
||||
l2:
|
||||
l4:
|
||||
ret l1 NEXT:[<END>] PREV:[<START>, jt(l2)]
|
||||
ret l1 NEXT:[<END>] PREV:[<START>]
|
||||
l5:
|
||||
r(1) NEXT:[r(0)] PREV:[]
|
||||
r(0) NEXT:[r(>)] PREV:[r(1)]
|
||||
r(>) NEXT:[r(1 > 0)] PREV:[r(0)]
|
||||
r(1 > 0) NEXT:[jt(l2)] PREV:[r(>)]
|
||||
jt(l2) NEXT:[read (Unit), ret l1] PREV:[r(1 > 0)]
|
||||
* r(1) NEXT:[r(0)] PREV:[]
|
||||
* r(0) NEXT:[r(>)] PREV:[]
|
||||
* r(>) NEXT:[r(1 > 0)] PREV:[]
|
||||
* r(1 > 0) NEXT:[jt(l2)] PREV:[]
|
||||
* jt(l2) NEXT:[read (Unit), ret l1] PREV:[]
|
||||
l3:
|
||||
read (Unit) NEXT:[<END>] PREV:[jt(l2)]
|
||||
* read (Unit) NEXT:[<END>] PREV:[]
|
||||
l1:
|
||||
<END> NEXT:[] PREV:[ret l1, read (Unit)]
|
||||
<END> NEXT:[] PREV:[ret l1]
|
||||
error:
|
||||
<ERROR> NEXT:[] PREV:[]
|
||||
=====================
|
||||
|
||||
@@ -22,8 +22,9 @@ fun testUnresolved() {
|
||||
|
||||
//TODO
|
||||
for (j in <error>collection</error>) {
|
||||
val i: Int = j
|
||||
j += 1
|
||||
var i: Int = j
|
||||
i += 1
|
||||
foo1(j)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
fun test() {
|
||||
val a : Any? = null
|
||||
var a : Any? = null
|
||||
if (a is Any) else a = null;
|
||||
while (a is Any) a = null
|
||||
while (true) a = null
|
||||
|
||||
@@ -12,7 +12,7 @@ abstract enum class ProtocolState {
|
||||
|
||||
|
||||
fun box(): String {
|
||||
val x: ProtocolState = ProtocolState.WAITING
|
||||
var x: ProtocolState = ProtocolState.WAITING
|
||||
x = x.signal()
|
||||
if (x != ProtocolState.TALKING) return "fail 1"
|
||||
x = x.signal()
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -176,23 +176,23 @@ fun testFunctionLiterals() {
|
||||
}
|
||||
|
||||
val endsWithAssignment = { () : Int =>
|
||||
val x = 1
|
||||
var x = 1
|
||||
<!EXPECTED_TYPE_MISMATCH!>x = 333<!>
|
||||
}
|
||||
|
||||
val endsWithReAssignment = { () : Int =>
|
||||
val x = 1
|
||||
var x = 1
|
||||
<!EXPECTED_TYPE_MISMATCH!>x += 333<!>
|
||||
}
|
||||
|
||||
val endsWithFunDeclaration : fun() : String = {
|
||||
val x = 1
|
||||
var x = 1
|
||||
x = 333
|
||||
<!EXPECTED_TYPE_MISMATCH!>fun meow() : Unit {}<!>
|
||||
}
|
||||
|
||||
val endsWithObjectDeclaration : fun() : Int = {
|
||||
val x = 1
|
||||
var x = 1
|
||||
x = 333
|
||||
<!EXPECTED_TYPE_MISMATCH!>object A {}<!>
|
||||
}
|
||||
|
||||
@@ -22,8 +22,9 @@ fun testUnresolved() {
|
||||
|
||||
//TODO
|
||||
for (j in <!UNRESOLVED_REFERENCE!>collection<!>) {
|
||||
val i: Int = j
|
||||
j += 1
|
||||
var i: Int = j
|
||||
i += 1
|
||||
foo1(j)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
fun test() {
|
||||
val a : Any? = null
|
||||
var a : Any? = null
|
||||
if (a is Any) else a = null;
|
||||
while (a is Any) a = null
|
||||
while (true) a = null
|
||||
|
||||
@@ -12,7 +12,7 @@ abstract enum class ProtocolState {
|
||||
|
||||
|
||||
fun box(): String {
|
||||
val x: ProtocolState = ProtocolState.WAITING
|
||||
var x: ProtocolState = ProtocolState.WAITING
|
||||
x = x.signal()
|
||||
if (x != ProtocolState.TALKING) return "fail 1"
|
||||
x = x.signal()
|
||||
|
||||
@@ -17,7 +17,7 @@ class ArrayWrapper<T>() {
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val v1 = ArrayWrapper<String>()
|
||||
var v1 = ArrayWrapper<String>()
|
||||
val v2 = ArrayWrapper<String>()
|
||||
v1.add("foo")
|
||||
v2.add("bar")
|
||||
|
||||
@@ -20,7 +20,7 @@ class ArrayWrapper<T>() {
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val v1 = ArrayWrapper<String>()
|
||||
var v1 = ArrayWrapper<String>()
|
||||
val v2 = ArrayWrapper<String>()
|
||||
v1.add("foo")
|
||||
val v3 = v1
|
||||
|
||||
@@ -20,7 +20,7 @@ class ArrayWrapper<T>() {
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val v1 = ArrayWrapper<String>()
|
||||
var v1 = ArrayWrapper<String>()
|
||||
val v2 = ArrayWrapper<String>()
|
||||
v1.add("foo")
|
||||
val v3 = v1
|
||||
|
||||
@@ -4,7 +4,7 @@ fun box() : String {
|
||||
a[1] = "b"
|
||||
a[2] = "c"
|
||||
|
||||
val result = 0
|
||||
var result = 0
|
||||
for(i in a.indices) {
|
||||
result += i
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user