Files
kotlin-fork/compiler/testData/diagnostics/tests/nullabilityAndAutoCasts/kt2146.kt
T
Andrey Breslav 3d8d92c7d3 JetDiagnosticsTest migrated to TestGenerator
- test data files renamed from *.jet to *.kt
2012-07-10 14:48:11 +04:00

54 lines
843 B
Kotlin

//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
}
}