Do not cast arguments of binary operation to expected type for byte and short

This commit is contained in:
Natalia Ukhorskaya
2013-12-09 16:50:12 +04:00
parent 8b9fbdf911
commit 69ed9bc47a
24 changed files with 351 additions and 52 deletions
@@ -0,0 +1,17 @@
fun box(): String {
val a1: Byte = 1.plus(1)
val a2: Short = 1.plus(1)
val a3: Int = 1.plus(1)
val a4: Long = 1.plus(1)
val a5: Double = 1.0.plus(1)
val a6: Float = 1f.plus(1)
if (a1 != 2.toByte()) return "fail 1"
if (a2 != 2.toShort()) return "fail 2"
if (a3 != 2) return "fail 3"
if (a4 != 2L) return "fail 4"
if (a5 != 2.0) return "fail 5"
if (a6 != 2f) return "fail 6"
return "OK"
}
@@ -0,0 +1,17 @@
fun box(): String {
val a1: Byte? = 1.plus(1)
val a2: Short? = 1.plus(1)
val a3: Int? = 1.plus(1)
val a4: Long? = 1.plus(1)
val a5: Double? = 1.0.plus(1)
val a6: Float? = 1f.plus(1)
if (a1!! != 2.toByte()) return "fail 1"
if (a2!! != 2.toShort()) return "fail 2"
if (a3!! != 2) return "fail 3"
if (a4!! != 2L) return "fail 4"
if (a5!! != 2.0) return "fail 5"
if (a6!! != 2f) return "fail 6"
return "OK"
}
@@ -0,0 +1,17 @@
fun box(): String {
val a1: Byte = 1 plus 1
val a2: Short = 1 plus 1
val a3: Int = 1 plus 1
val a4: Long = 1 plus 1
val a5: Double = 1.0 plus 1
val a6: Float = 1f plus 1
if (a1 != 2.toByte()) return "fail 1"
if (a2 != 2.toShort()) return "fail 2"
if (a3 != 2) return "fail 3"
if (a4 != 2L) return "fail 4"
if (a5 != 2.0) return "fail 5"
if (a6 != 2f) return "fail 6"
return "OK"
}
@@ -0,0 +1,17 @@
fun box(): String {
val a1: Byte? = 1 plus 1
val a2: Short? = 1 plus 1
val a3: Int? = 1 plus 1
val a4: Long? = 1 plus 1
val a5: Double? = 1.0 plus 1
val a6: Float? = 1f plus 1
if (a1!! != 2.toByte()) return "fail 1"
if (a2!! != 2.toShort()) return "fail 2"
if (a3!! != 2) return "fail 3"
if (a4!! != 2L) return "fail 4"
if (a5!! != 2.0) return "fail 5"
if (a6!! != 2f) return "fail 6"
return "OK"
}
@@ -0,0 +1,17 @@
fun box(): String {
val a1: Byte = 1 + 1
val a2: Short = 1 + 1
val a3: Int = 1 + 1
val a4: Long = 1 + 1
val a5: Double = 1.0 + 1
val a6: Float = 1f + 1
if (a1 != 2.toByte()) return "fail 1"
if (a2 != 2.toShort()) return "fail 2"
if (a3 != 2) return "fail 3"
if (a4 != 2L) return "fail 4"
if (a5 != 2.0) return "fail 5"
if (a6 != 2f) return "fail 6"
return "OK"
}
@@ -0,0 +1,17 @@
fun box(): String {
val a1: Byte? = 1 + 1
val a2: Short? = 1 + 1
val a3: Int? = 1 + 1
val a4: Long? = 1 + 1
val a5: Double? = 1.0 + 1
val a6: Float? = 1f + 1
if (a1!! != 2.toByte()) return "fail 1"
if (a2!! != 2.toShort()) return "fail 2"
if (a3!! != 2) return "fail 3"
if (a4!! != 2L) return "fail 4"
if (a5!! != 2.0) return "fail 5"
if (a6!! != 2f) return "fail 6"
return "OK"
}
@@ -0,0 +1,5 @@
fun box(): String {
val a: Long = 2147483647 + 1
if (a != -2147483648L) return "fail: in this case we should add to ints and than cast the result to long - overflow expected"
return "OK"
}