@@ -11,7 +11,7 @@ fun foo() {
|
||||
}
|
||||
|
||||
when (x) {
|
||||
0 -> { if (x == null) return }
|
||||
0 -> { if (<!SENSELESS_COMPARISON!>x == null<!>) return }
|
||||
else -> { if (x == null) return }
|
||||
}
|
||||
bar(x)
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
//KT-2146 Nullability casts in when.
|
||||
package kt2146
|
||||
|
||||
fun f1(s: Int?): Int {
|
||||
return when (s) {
|
||||
null -> 3
|
||||
else -> s
|
||||
}
|
||||
}
|
||||
|
||||
fun f2(s: Int?): Int {
|
||||
return when (s) {
|
||||
!is Int -> <!TYPE_MISMATCH!>s<!>
|
||||
else -> s
|
||||
}
|
||||
}
|
||||
|
||||
fun f3(s: Int?): Int {
|
||||
return when (s) {
|
||||
is Int -> s
|
||||
else -> <!TYPE_MISMATCH!>s<!>
|
||||
}
|
||||
}
|
||||
|
||||
fun f4(s: Int?): Int {
|
||||
return when {
|
||||
s == 4 -> s
|
||||
s == null -> <!TYPE_MISMATCH!>s<!>
|
||||
else -> s
|
||||
}
|
||||
}
|
||||
|
||||
fun f5(s: Int?): Int {
|
||||
return when (s) {
|
||||
s!! -> s
|
||||
s -> <!TYPE_MISMATCH!>s<!>
|
||||
else -> 0
|
||||
}
|
||||
}
|
||||
|
||||
fun f6(s: Int?): Int {
|
||||
return when {
|
||||
s is Int -> s
|
||||
else -> <!TYPE_MISMATCH!>s<!>
|
||||
}
|
||||
}
|
||||
|
||||
fun f7(s: Int?): Int {
|
||||
return when {
|
||||
s !is Int -> <!TYPE_MISMATCH!>s<!>
|
||||
else -> s
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
fun set(<!UNUSED_PARAMETER!>key<!> : String, <!UNUSED_PARAMETER!>value<!> : String) {
|
||||
val a : String? = ""
|
||||
when (a) {
|
||||
"" -> a<!UNSAFE_CALL!>.<!>get(0)
|
||||
"" -> a.get(0)
|
||||
is String, is Any -> a.compareTo("")
|
||||
else -> a.toString()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user