[FE 1.0] Fix reporting of UNINITIALIZED_ENUM_ENTRY on qualified enums

^KT-41124
^KT-50758 Fixed
This commit is contained in:
Dmitriy Novozhilov
2022-01-12 17:03:30 +03:00
committed by teamcity
parent 50f6825775
commit bb6c6dc45d
9 changed files with 254 additions and 1 deletions
@@ -0,0 +1,55 @@
// LANGUAGE: +ProhibitQualifiedAccessToUninitializedEnumEntry
// ISSUE: KT-41124
enum class SomeEnum11(var x: Int) {
A(1),
B(2);
init {
<!UNINITIALIZED_ENUM_ENTRY!>A<!>.x = 10 // Error
}
}
enum class SomeEnum12(var x: Int) {
A(1),
B(2);
init {
SomeEnum12.<!UNINITIALIZED_ENUM_ENTRY!>A<!>.x = 10 // Error
}
}
enum class SomeEnum21(var x: Int) {
A(1) {
init {
A.x = 10 // OK
SomeEnum21.A.x = 10 // OK
<!UNINITIALIZED_ENUM_ENTRY!>B<!>.x = 10 // Error
}
},
B(2)
}
enum class SomeEnum22(var x: Int) {
A(1) {
init {
A.x = 10 // OK
SomeEnum22.A.x = 10 // OK
SomeEnum22.<!UNINITIALIZED_ENUM_ENTRY!>B<!>.x = 10 // Migration error
}
},
B(2)
}
enum class SomeEnum3(var x: Int) {
A(1),
B(2) {
init {
A.x = 10 // OK
SomeEnum3.A.x = 10 // OK
B.x = 10 // OK
SomeEnum3.B.x = 10 // OK
}
};
}