db31f1f926
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 toebd43fc8c0. 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 after64c8ce18a0.
39 lines
556 B
Kotlin
Vendored
39 lines
556 B
Kotlin
Vendored
// TARGET_BACKEND: JVM_IR
|
|
|
|
// WITH_STDLIB
|
|
|
|
// MODULE: lib
|
|
// !LANGUAGE: -EnumEntries
|
|
// FILE: 1.kt
|
|
|
|
package test
|
|
|
|
enum class X {
|
|
O,
|
|
K
|
|
}
|
|
|
|
enum class Y {
|
|
O,
|
|
K
|
|
}
|
|
|
|
// MODULE: caller(lib)
|
|
// !LANGUAGE: +EnumEntries
|
|
|
|
// FILE: 2.kt
|
|
import test.*
|
|
|
|
@OptIn(ExperimentalStdlibApi::class)
|
|
fun funForAdditionalMappingArrayInMappingFile(): String = Y.entries[1].toString()
|
|
|
|
@OptIn(ExperimentalStdlibApi::class)
|
|
inline fun test(idx: Int): String = X.entries[idx].toString()
|
|
|
|
// FILE: 3.kt
|
|
import test.*
|
|
|
|
fun box(): String {
|
|
return test(0) + test(1)
|
|
}
|