[K/N] Intrinsify enumEntries<T>

^KT-59711
This commit is contained in:
Pavel Kunyavskiy
2023-07-06 17:16:06 +02:00
committed by Space Team
parent 26b0b02553
commit 9cbd55aa72
21 changed files with 138 additions and 14 deletions
@@ -16705,6 +16705,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr
runTest("compiler/testData/codegen/box/enum/enumEntriesIntrinsicMultipleEnums.kt");
}
@Test
@TestMetadata("enumEntriesIntrinsicWithoutFeature.kt")
public void testEnumEntriesIntrinsicWithoutFeature() throws Exception {
runTest("compiler/testData/codegen/box/enum/enumEntriesIntrinsicWithoutFeature.kt");
}
@Test
@TestMetadata("enumEntriesMultimodule.kt")
public void testEnumEntriesMultimodule() throws Exception {
@@ -16705,6 +16705,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo
runTest("compiler/testData/codegen/box/enum/enumEntriesIntrinsicMultipleEnums.kt");
}
@Test
@TestMetadata("enumEntriesIntrinsicWithoutFeature.kt")
public void testEnumEntriesIntrinsicWithoutFeature() throws Exception {
runTest("compiler/testData/codegen/box/enum/enumEntriesIntrinsicWithoutFeature.kt");
}
@Test
@TestMetadata("enumEntriesMultimodule.kt")
public void testEnumEntriesMultimodule() throws Exception {
@@ -0,0 +1,15 @@
// !LANGUAGE: -EnumEntries
// IGNORE_BACKEND: JS
// WITH_STDLIB
@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER")
import kotlin.enums.*
enum class E { A, B, C };
@OptIn(kotlin.ExperimentalStdlibApi::class)
fun box() : String {
if (enumEntries<E>() != listOf(E.A, E.B, E.C)) return "FAIL"
return "OK"
}
@@ -3,6 +3,11 @@
// IGNORE_BACKEND: JS, JVM
// WITH_STDLIB
@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER")
import kotlin.enums.*
enum class EnumWithClash {
values,
entries,
@@ -14,5 +19,6 @@ fun box(): String {
val ref = EnumWithClash::entries
if (ref().toString() != "[values, entries, valueOf]") return "FAIL 1"
if (EnumWithClash.entries.toString() != "entries") return "FAIL 2"
if (enumEntries<EnumWithClash>().toString() != "[values, entries, valueOf]") return "FAIL 3"
return "OK"
}
@@ -16339,6 +16339,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/enum/enumEntriesInCompanion.kt");
}
@Test
@TestMetadata("enumEntriesIntrinsicWithoutFeature.kt")
public void testEnumEntriesIntrinsicWithoutFeature() throws Exception {
runTest("compiler/testData/codegen/box/enum/enumEntriesIntrinsicWithoutFeature.kt");
}
@Test
@TestMetadata("enumEntriesMultimoduleNoMappings.kt")
public void testEnumEntriesMultimoduleNoMappings() throws Exception {
@@ -16705,6 +16705,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/enum/enumEntriesIntrinsicMultipleEnums.kt");
}
@Test
@TestMetadata("enumEntriesIntrinsicWithoutFeature.kt")
public void testEnumEntriesIntrinsicWithoutFeature() throws Exception {
runTest("compiler/testData/codegen/box/enum/enumEntriesIntrinsicWithoutFeature.kt");
}
@Test
@TestMetadata("enumEntriesMultimodule.kt")
public void testEnumEntriesMultimodule() throws Exception {
@@ -16705,6 +16705,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack
runTest("compiler/testData/codegen/box/enum/enumEntriesIntrinsicMultipleEnums.kt");
}
@Test
@TestMetadata("enumEntriesIntrinsicWithoutFeature.kt")
public void testEnumEntriesIntrinsicWithoutFeature() throws Exception {
runTest("compiler/testData/codegen/box/enum/enumEntriesIntrinsicWithoutFeature.kt");
}
@Test
@TestMetadata("enumEntriesMultimodule.kt")
public void testEnumEntriesMultimodule() throws Exception {
@@ -13796,6 +13796,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/enum/enumEntriesIntrinsicMultipleEnums.kt");
}
@TestMetadata("enumEntriesIntrinsicWithoutFeature.kt")
public void testEnumEntriesIntrinsicWithoutFeature() throws Exception {
runTest("compiler/testData/codegen/box/enum/enumEntriesIntrinsicWithoutFeature.kt");
}
@TestMetadata("enumEntriesMultimodule.kt")
public void testEnumEntriesMultimodule() throws Exception {
runTest("compiler/testData/codegen/box/enum/enumEntriesMultimodule.kt");