a4c7619c89
Without this commit, JVM name mapping logic in BE does not work for FIR, because FIR cannot use old BuiltInsPackageFragmentImpl descriptor. In this commit we add our own implementation thus fixing a pack of FIR black box tests.
44 lines
1.1 KiB
Kotlin
Vendored
44 lines
1.1 KiB
Kotlin
Vendored
// !LANGUAGE: +VariableDeclarationInWhenSubject
|
|
// WITH_RUNTIME
|
|
|
|
import kotlin.test.assertEquals
|
|
|
|
enum class Season {
|
|
WINTER,
|
|
SPRING,
|
|
SUMMER,
|
|
AUTUMN
|
|
}
|
|
|
|
fun foo1(x : Season?) : String {
|
|
when(val xx = x) {
|
|
Season.AUTUMN, Season.SPRING -> return "autumn_or_spring $xx";
|
|
Season.SUMMER, null -> return "summer_or_null $xx"
|
|
}
|
|
|
|
return "other"
|
|
}
|
|
|
|
fun foo2(x : Season?) : String {
|
|
when(val xx = x) {
|
|
Season.AUTUMN, Season.SPRING -> return "autumn_or_spring $xx";
|
|
Season.SUMMER -> return "summer"
|
|
}
|
|
|
|
return "other"
|
|
}
|
|
|
|
fun box() : String {
|
|
assertEquals("autumn_or_spring AUTUMN", foo1(Season.AUTUMN))
|
|
assertEquals("autumn_or_spring SPRING", foo1(Season.SPRING))
|
|
assertEquals("summer_or_null SUMMER", foo1(Season.SUMMER))
|
|
assertEquals("summer_or_null null", foo1(null))
|
|
|
|
assertEquals("autumn_or_spring AUTUMN", foo2(Season.AUTUMN))
|
|
assertEquals("autumn_or_spring SPRING", foo2(Season.SPRING))
|
|
assertEquals("summer", foo2(Season.SUMMER))
|
|
assertEquals("other", foo2(null))
|
|
|
|
return "OK"
|
|
}
|