Files
kotlin-fork/compiler/testData/diagnostics/tests/controlFlowAnalysis/uninitializedQualifiedEnumEntry.kt
T
Dmitrii Gridin 9a4a3d1f49 [LL FIR] introduce test with reversed resolve order
^KT-56543

Merge-request: KT-MR-9299
Merged-by: Dmitrii Gridin <dmitry.gridin@jetbrains.com>
2023-03-22 17:34:07 +00:00

58 lines
1.1 KiB
Kotlin
Vendored

// IGNORE_REVERSED_RESOLVE
// FIR_IDENTICAL
// 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
}
};
}