Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/exhaustiveness_enumJava.kt
T
Ivan Kylchik dcae6f1415 [FIR] Support when exhaustiveness for java enum
The problem appear because for java enum its entries was represented by
FirJavaField. To fix this FirEnumEntry was used

#KT-39621 Fixed
2020-07-09 23:49:54 +03:00

60 lines
1.1 KiB
Kotlin
Vendored

// FILE: JavaEnum.java
public enum JavaEnum {
A, B, C;
public int i = 0;
}
// FILE: main.kt
fun test_1(e: JavaEnum) {
val a = when (e) {
JavaEnum.A -> 1
JavaEnum.B -> 2
}.<!UNRESOLVED_REFERENCE!>plus<!>(0)
val b = when (e) {
JavaEnum.A -> 1
JavaEnum.B -> 2
is String -> 3
}.<!UNRESOLVED_REFERENCE!>plus<!>(0)
val c = when (e) {
JavaEnum.A -> 1
JavaEnum.B -> 2
JavaEnum.C -> 3
}.plus(0)
val d = when (e) {
JavaEnum.A -> 1
else -> 2
}.plus(0)
}
fun test_2(e: JavaEnum?) {
val a = when (e) {
JavaEnum.A -> 1
JavaEnum.B -> 2
JavaEnum.C -> 3
}.<!UNRESOLVED_REFERENCE!>plus<!>(0)
val a = when (e) {
JavaEnum.A -> 1
JavaEnum.B -> 2
JavaEnum.C -> 3
null -> 4
}.plus(0)
val a = when (e) {
JavaEnum.A -> 1
JavaEnum.B -> 2
JavaEnum.C -> 3
else -> 4
}.plus(0)
}
fun test_3(e: JavaEnum) {
val a = when (e) {
JavaEnum.A, JavaEnum.B -> 1
JavaEnum.C -> 2
}.plus(0)
}