Generation of ++ and += fixed for platform types

This commit is contained in:
Andrey Breslav
2014-10-21 18:38:08 +04:00
parent d28c96837e
commit 7ed7f020d3
24 changed files with 354 additions and 18 deletions
@@ -0,0 +1,10 @@
fun box(): String {
var x = 1
(@foo x)++
++(@foo x)
(x: Int)++
++(x: Int)
if (x != 5) return "Fail: $x"
return "OK"
}
@@ -0,0 +1,8 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(1)
var x = l[0]
x = 2
if (x != 2) return "Fail: $x}"
return "OK"
}
@@ -0,0 +1,9 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(1)
val x = l[0] < 2
if (x != true) return "Fail: $x}"
val y = l[0] compareTo 2
if (y != -1) return "Fail (y): $y}"
return "OK"
}
@@ -0,0 +1,14 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(1)
var x = l[0]
var y = l[0]
l[0]--
--l[0]
x--
--y
if (l[0] != -1) return "Fail: ${l[0]}"
if (x != 0) return "Fail x: $x"
if (y != 0) return "Fail y: $y"
return "OK"
}
@@ -0,0 +1,7 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(2)
val x = l[0] / 2
if (x != 1) return "Fail: $x}"
return "OK"
}
@@ -0,0 +1,7 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(1)
val x = l[0] == 2
if (x != false) return "Fail: $x}"
return "OK"
}
@@ -0,0 +1,7 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(1)
val x = l[0].hashCode()
if (x != 1) return "Fail: $x}"
return "OK"
}
@@ -0,0 +1,14 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(1)
var x = l[0]
var y = l[0]
l[0]++
++l[0]
x++
++y
if (l[0] != 3) return "Fail: ${l[0]}"
if (x != 2) return "Fail x: $x"
if (y != 2) return "Fail y: $y"
return "OK"
}
@@ -0,0 +1,7 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(1)
val x = l[0] - 1
if (x != 0) return "Fail: $x}"
return "OK"
}
@@ -0,0 +1,7 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(2)
val x = l[0] % 2
if (x != 0) return "Fail: $x}"
return "OK"
}
@@ -0,0 +1,7 @@
fun box(): String {
val l = java.util.ArrayList<Boolean>()
l.add(true)
val x = !l[0]
if (x) return "Fail: $x}"
return "OK"
}
@@ -0,0 +1,7 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(1)
val x = l[0] != 1
if (x != false) return "Fail: $x}"
return "OK"
}
@@ -0,0 +1,7 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(1)
val x = l[0] + 1
if (x != 2) return "Fail: $x}"
return "OK"
}
@@ -0,0 +1,10 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(1)
var x = l[0]
x += 1
l[0] += 1
if (l[0] != 2) return "Fail: ${l[0]}"
if (x != 2) return "Fail: $x}"
return "OK"
}
@@ -0,0 +1,10 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(2)
val sb = StringBuilder()
for (i in l[0]..3) {
sb.append(i)
}
if (sb.toString() != "23") return "Fail: $sb}"
return "OK"
}
@@ -0,0 +1,7 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(1)
val x = l[0] * 2
if (x != 2) return "Fail: $x}"
return "OK"
}
@@ -0,0 +1,7 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(1)
val x = l[0].toShort()
if (x != 1.toShort()) return "Fail: $x}"
return "OK"
}
@@ -0,0 +1,7 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(1)
val x = "${l[0]}"
if (x != "1") return "Fail: $x}"
return "OK"
}
@@ -0,0 +1,20 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(1000)
val x = l[0] === 1000
if (x) return "Fail: $x"
val x1 = l[0] === 1
if (x1) return "Fail 1: $x"
val x2 = l[0] === l[0]
if (!x2) return "Fail 2: $x"
val y = l[0] identityEquals 1000
if (y) return "Fail (y): $y"
val y1 = l[0] identityEquals 1
if (y1) return "Fail (y1): $y"
val y2 = l[0] identityEquals l[0]
if (!y2) return "Fail (y2): $y"
return "OK"
}
@@ -0,0 +1,7 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(1)
val x = -l[0]
if (x != -1) return "Fail: $x"
return "OK"
}
@@ -0,0 +1,7 @@
fun box(): String {
val l = java.util.ArrayList<Int>()
l.add(1)
val x = +l[0]
if (x != 1) return "Fail: $x}"
return "OK"
}