[K/N] Basic support of Enum.entries for Native
No forward compatibility yet, with old klib IR linker will fail. ^KT-53324
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
||||
// !LANGUAGE: +EnumEntries
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// FULL_JDK
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// WITH_STDLIB
|
||||
|
||||
enum class MyEnum {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// FULL_JDK
|
||||
// AFTER KT-53649 - TARGET_BACKEND: NATIVE
|
||||
// WITH_STDLIB
|
||||
|
||||
// MODULE: lib
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// FULL_JDK
|
||||
// AFTER KT-53649 - TARGET_BACKEND: NATIVE
|
||||
// WITH_STDLIB
|
||||
|
||||
// MODULE: lib
|
||||
|
||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// FULL_JDK
|
||||
// AFTER KT-53649 - TARGET_BACKEND: NATIVE
|
||||
// WITH_STDLIB
|
||||
|
||||
// MODULE: lib
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// WITH_STDLIB
|
||||
|
||||
// MODULE: lib
|
||||
// !LANGUAGE: +EnumEntries
|
||||
// FILE: MyEnum.kt
|
||||
enum class MyEnum {
|
||||
Nope, OK
|
||||
}
|
||||
|
||||
// MODULE: caller(lib)
|
||||
// !LANGUAGE: +EnumEntries
|
||||
// FILE: Box.kt
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
fun box(): String {
|
||||
return MyEnum.entries[1].toString()
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
// !LANGUAGE: +EnumEntries
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// WITH_STDLIB
|
||||
|
||||
enum class EnumWithClash {
|
||||
values,
|
||||
entries,
|
||||
valueOf;
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
fun box(): String {
|
||||
val ref = EnumWithClash::entries
|
||||
if (ref().toString() != "[values, entries, valueOf]") return "FAIL 1"
|
||||
if (EnumWithClash.entries.toString() != "entries") return "FAIL 2"
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user