[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
This commit is contained in:
Ivan Kylchik
2020-07-08 19:44:01 +03:00
parent 307871a050
commit dcae6f1415
17 changed files with 247 additions and 92 deletions
@@ -1,10 +1,7 @@
public final enum class AnnotatedEnumEntry : R|kotlin/Enum<ft<test/AnnotatedEnumEntry, test/AnnotatedEnumEntry?>!>| {
@R|test/AnnotatedEnumEntry.Anno|(String(a)) public final static field E1: R|test/AnnotatedEnumEntry|
@R|test/AnnotatedEnumEntry.Anno|(String(b)) @R|test/AnnotatedEnumEntry.Anno2|() public final static field E2: R|test/AnnotatedEnumEntry|
public final static field E3: R|test/AnnotatedEnumEntry|
@R|test/AnnotatedEnumEntry.Anno|(String(a)) public final static enum entry E1: R|test/AnnotatedEnumEntry|
@R|test/AnnotatedEnumEntry.Anno|(String(b)) @R|test/AnnotatedEnumEntry.Anno2|() public final static enum entry E2: R|test/AnnotatedEnumEntry|
public final static enum entry E3: R|test/AnnotatedEnumEntry|
public final static fun values(): R|kotlin/Array<test/AnnotatedEnumEntry>| {
}
@@ -1,6 +1,5 @@
public final enum class EnumConstructorParameter : R|kotlin/Enum<ft<test/EnumConstructorParameter, test/EnumConstructorParameter?>!>| {
public final static field INSTANCE: R|test/EnumConstructorParameter|
public final static enum entry INSTANCE: R|test/EnumConstructorParameter|
private constructor(@R|test/EnumConstructorParameter.Anno|(String(string)) s: R|ft<kotlin/String, kotlin/String?>!|): R|test/EnumConstructorParameter|
private constructor(x: R|kotlin/Int|): R|test/EnumConstructorParameter|