Files
kotlin-fork/compiler/testData/codegen/bytecodeText/enum/enumEntriesMultiMapping.kt
T
Alexander Udalov db31f1f926 Tests: update some backend tests on enum entries
The enumEntriesIntrinsicMultipleEnums.kt test was supposed to check that
JVM backend generates 3 `$EntriesIntrinsicMappings` classes: for X, for
Y, and for Z. Mappings classes are generated for enums without
`entries`, i.e. Kotlin enums compiled without `EnumEntries` language
feature, and Java enums. The test incorrectly _enabled_ the language
feature for X though, and `$EntriesIntrinsicMappings` for X was
generated anyway because of KT-61208.

To keep the original intention of the test, I'm disabling the language
feature for X, so that it will be considered as enum without `entries`.
KT-61208 will be fixed in a separate commit (with separate tests).

The boxInline and bytecodeText tests changed their meaning when language
feature EnumEntries started to be enabled by default, so those changes
are a continuation to ebd43fc8c0. The behavior did not change after
enabling the feature, once again because of KT-61208.

Also, remove obsolete error suppressions which are no longer needed
after 64c8ce18a0.
2023-10-16 20:22:20 +00:00

31 lines
511 B
Kotlin
Vendored

// TARGET_BACKEND: JVM_IR
// FULL_JDK
// WITH_STDLIB
// MODULE: lib
// !LANGUAGE: -EnumEntries
// FILE: MyEnums.kt
enum class MyEnum {
N, O
}
enum class MyEnum2 {
O, K
}
// MODULE: caller(lib)
// !LANGUAGE: +EnumEntries
// FILE: Box.kt
@OptIn(ExperimentalStdlibApi::class)
object Container {
fun getK() = MyEnum2.entries[1].toString()
}
@OptIn(ExperimentalStdlibApi::class)
fun box(): String {
return MyEnum.entries[1].toString() + Container.getK()
}
// 2 class [a-zA-Z]+\$EntriesMappings