52 lines
995 B
Kotlin
Vendored
52 lines
995 B
Kotlin
Vendored
// FIR_IDENTICAL
|
|
// !DIAGNOSTICS: -UNUSED_VARIABLE -NAME_SHADOWING
|
|
// !LANGUAGE: +TrailingCommas
|
|
|
|
fun foo1(x: Any) = when (x) {
|
|
Comparable::class,
|
|
Iterable::class,
|
|
String::class,
|
|
-> println(1)
|
|
else -> println(3)
|
|
}
|
|
|
|
fun foo2(x: Any) {
|
|
val z = when (val y: Int = x as Int) {
|
|
1, -> println(1)
|
|
else -> println(3)
|
|
}
|
|
}
|
|
|
|
fun foo3(x: (Any) -> Any) {
|
|
val z = when (val y: (Any) -> Any = x) {
|
|
{x: Any, -> x}, {y: Any, -> y}, -> println(1)
|
|
else -> println(3)
|
|
}
|
|
}
|
|
|
|
fun foo4(x: Any) {
|
|
val z = when (x) {
|
|
is Int, is Double, -> println(1)
|
|
else -> println(3)
|
|
}
|
|
}
|
|
|
|
fun foo5(x: Int, y: IntArray, z: IntArray) {
|
|
val u = when (x) {
|
|
in y,
|
|
in z,
|
|
-> println(1)
|
|
else -> println(3)
|
|
}
|
|
}
|
|
|
|
fun foo6(x: Boolean?) = when (x) {
|
|
true, false, -> println(1)
|
|
null, -> println(1)
|
|
}
|
|
|
|
fun foo7(x: Boolean?) = when (x) {
|
|
true, false,/**/ -> println(1)
|
|
null,/**/ -> println(1)
|
|
}
|