From c0f81cbc45a099ab43a01ea2fb2a50a972c5749d Mon Sep 17 00:00:00 2001 From: Vsevolod Tolstopyatov Date: Fri, 22 Jul 2022 17:31:56 +0200 Subject: [PATCH] [JVM] Improve code coverage of EntriesMapping Ensure that when .entries is accessed from an inline function body or lambda argument, EntriesMapping are properly generated and used without excessive mappings and duplicated fields #KT-53236 --- ...FirBlackBoxInlineCodegenTestGenerated.java | 34 +++++++++++++++++ .../codegen/FirBytecodeTextTestGenerated.java | 6 +++ ...reeBlackBoxInlineCodegenTestGenerated.java | 34 +++++++++++++++++ ...otlinAgainstInlineKotlinTestGenerated.java | 34 +++++++++++++++++ .../anonymousObject/enumEntries/callSite.kt | 35 +++++++++++++++++ .../anonymousObject/enumEntries/declSite.kt | 28 ++++++++++++++ .../enumEntries/declSiteSeveralMappings.kt | 38 +++++++++++++++++++ .../declSiteSeveralMappingsDifOrder.kt | 38 +++++++++++++++++++ .../inline/entriesMappingOnCallSite.kt | 31 +++++++++++++++ .../BlackBoxInlineCodegenTestGenerated.java | 10 +++++ ...otlinAgainstInlineKotlinTestGenerated.java | 10 +++++ .../IrBlackBoxInlineCodegenTestGenerated.java | 34 +++++++++++++++++ .../codegen/IrBytecodeTextTestGenerated.java | 6 +++ ...otlinAgainstInlineKotlinTestGenerated.java | 34 +++++++++++++++++ ...otlinAgainstInlineKotlinTestGenerated.java | 34 +++++++++++++++++ ...JvmIrAgainstOldBoxInlineTestGenerated.java | 34 +++++++++++++++++ ...JvmOldAgainstIrBoxInlineTestGenerated.java | 10 +++++ .../js/test/JsCodegenInlineTestGenerated.java | 10 +++++ .../ir/IrJsCodegenInlineTestGenerated.java | 10 +++++ .../IrCodegenBoxInlineWasmTestGenerated.java | 13 +++++++ .../NativeCodegenBoxTestGenerated.java | 12 ++++++ 21 files changed, 495 insertions(+) create mode 100644 compiler/testData/codegen/boxInline/anonymousObject/enumEntries/callSite.kt create mode 100644 compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSite.kt create mode 100644 compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappings.kt create mode 100644 compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappingsDifOrder.kt create mode 100644 compiler/testData/codegen/bytecodeText/inline/entriesMappingOnCallSite.kt diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxInlineCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxInlineCodegenTestGenerated.java index 9d89a4b2dd4..34707e2eba4 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxInlineCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxInlineCodegenTestGenerated.java @@ -488,6 +488,40 @@ public class FirBlackBoxInlineCodegenTestGenerated extends AbstractFirBlackBoxIn runTest("compiler/testData/codegen/boxInline/anonymousObject/withInlineMethod.kt"); } + @Nested + @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumEntries") + @TestDataPath("$PROJECT_ROOT") + public class EnumEntries { + @Test + public void testAllFilesPresentInEnumEntries() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline/anonymousObject/enumEntries"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("callSite.kt") + public void testCallSite() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/callSite.kt"); + } + + @Test + @TestMetadata("declSite.kt") + public void testDeclSite() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSite.kt"); + } + + @Test + @TestMetadata("declSiteSeveralMappings.kt") + public void testDeclSiteSeveralMappings() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappings.kt"); + } + + @Test + @TestMetadata("declSiteSeveralMappingsDifOrder.kt") + public void testDeclSiteSeveralMappingsDifOrder() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappingsDifOrder.kt"); + } + } + @Nested @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumWhen") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBytecodeTextTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBytecodeTextTestGenerated.java index a23a4ab2d62..b024c3788d6 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBytecodeTextTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBytecodeTextTestGenerated.java @@ -3414,6 +3414,12 @@ public class FirBytecodeTextTestGenerated extends AbstractFirBytecodeTextTest { runTest("compiler/testData/codegen/bytecodeText/inline/deleteClassOnTransformation.kt"); } + @Test + @TestMetadata("entriesMappingOnCallSite.kt") + public void testEntriesMappingOnCallSite() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/entriesMappingOnCallSite.kt"); + } + @Test @TestMetadata("finallyMarkers.kt") public void testFinallyMarkers() throws Exception { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxInlineCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxInlineCodegenTestGenerated.java index 13497fb84a1..81218319f24 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxInlineCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxInlineCodegenTestGenerated.java @@ -488,6 +488,40 @@ public class FirLightTreeBlackBoxInlineCodegenTestGenerated extends AbstractFirL runTest("compiler/testData/codegen/boxInline/anonymousObject/withInlineMethod.kt"); } + @Nested + @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumEntries") + @TestDataPath("$PROJECT_ROOT") + public class EnumEntries { + @Test + public void testAllFilesPresentInEnumEntries() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline/anonymousObject/enumEntries"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("callSite.kt") + public void testCallSite() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/callSite.kt"); + } + + @Test + @TestMetadata("declSite.kt") + public void testDeclSite() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSite.kt"); + } + + @Test + @TestMetadata("declSiteSeveralMappings.kt") + public void testDeclSiteSeveralMappings() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappings.kt"); + } + + @Test + @TestMetadata("declSiteSeveralMappingsDifOrder.kt") + public void testDeclSiteSeveralMappingsDifOrder() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappingsDifOrder.kt"); + } + } + @Nested @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumWhen") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java index 26af2874d21..9c17cbeb6ec 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java @@ -488,6 +488,40 @@ public class FirSerializeCompileKotlinAgainstInlineKotlinTestGenerated extends A runTest("compiler/testData/codegen/boxInline/anonymousObject/withInlineMethod.kt"); } + @Nested + @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumEntries") + @TestDataPath("$PROJECT_ROOT") + public class EnumEntries { + @Test + public void testAllFilesPresentInEnumEntries() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline/anonymousObject/enumEntries"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR_SERIALIZE, true); + } + + @Test + @TestMetadata("callSite.kt") + public void testCallSite() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/callSite.kt"); + } + + @Test + @TestMetadata("declSite.kt") + public void testDeclSite() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSite.kt"); + } + + @Test + @TestMetadata("declSiteSeveralMappings.kt") + public void testDeclSiteSeveralMappings() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappings.kt"); + } + + @Test + @TestMetadata("declSiteSeveralMappingsDifOrder.kt") + public void testDeclSiteSeveralMappingsDifOrder() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappingsDifOrder.kt"); + } + } + @Nested @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumWhen") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/testData/codegen/boxInline/anonymousObject/enumEntries/callSite.kt b/compiler/testData/codegen/boxInline/anonymousObject/enumEntries/callSite.kt new file mode 100644 index 00000000000..96b017ce18c --- /dev/null +++ b/compiler/testData/codegen/boxInline/anonymousObject/enumEntries/callSite.kt @@ -0,0 +1,35 @@ +// TARGET_BACKEND: JVM_IR +// NO_CHECK_LAMBDA_INLINING +// WITH_RUNTIME + +// WITH_STDLIB + +// MODULE: lib +// FILE: MyEnum.kt + +package test + +enum class X { + O, + K +} + +inline fun test(block: () -> String): String { + return block() +} + +// MODULE: caller(lib) +// !LANGUAGE: +EnumEntries + +// FILE: 2.kt + +import test.* + +@OptIn(ExperimentalStdlibApi::class) +fun box(): String { + return test { + X.entries[0].toString() + } + test { + X.entries[1].toString() + } +} diff --git a/compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSite.kt b/compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSite.kt new file mode 100644 index 00000000000..e2e4edca174 --- /dev/null +++ b/compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSite.kt @@ -0,0 +1,28 @@ +// TARGET_BACKEND: JVM_IR +// WITH_RUNTIME +// WITH_STDLIB + +// MODULE: lib +// FILE: 1.kt + +package test + +enum class X { + O, + K +} + +// MODULE: caller(lib) +// !LANGUAGE: +EnumEntries + +// FILE: 2.kt +import test.* + +@OptIn(ExperimentalStdlibApi::class) +inline fun test(idx: Int): String { + return X.entries[idx].toString() +} + +fun box(): String { + return test(0) + test(1) +} diff --git a/compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappings.kt b/compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappings.kt new file mode 100644 index 00000000000..1640706fa1d --- /dev/null +++ b/compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappings.kt @@ -0,0 +1,38 @@ +// TARGET_BACKEND: JVM_IR + +// WITH_RUNTIME +// WITH_STDLIB + +// MODULE: lib +// 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) +} diff --git a/compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappingsDifOrder.kt b/compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappingsDifOrder.kt new file mode 100644 index 00000000000..d7adac3905d --- /dev/null +++ b/compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappingsDifOrder.kt @@ -0,0 +1,38 @@ +// TARGET_BACKEND: JVM_IR + +// WITH_RUNTIME +// WITH_STDLIB + +// MODULE: lib +// 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) +inline fun test(idx: Int): String = X.entries[idx].toString() + +@OptIn(ExperimentalStdlibApi::class) +fun funForAdditionalMappingArrayInMappingFile(): String = Y.entries[1].toString() + +// FILE: 3.kt +import test.* + +fun box(): String { + return test(0) + test(1) +} diff --git a/compiler/testData/codegen/bytecodeText/inline/entriesMappingOnCallSite.kt b/compiler/testData/codegen/bytecodeText/inline/entriesMappingOnCallSite.kt new file mode 100644 index 00000000000..ffdc78627c5 --- /dev/null +++ b/compiler/testData/codegen/bytecodeText/inline/entriesMappingOnCallSite.kt @@ -0,0 +1,31 @@ +// TARGET_BACKEND: JVM_IR +// WITH_STDLIB +// WITH_RUNTIME + +// MODULE: lib +// FILE: 1.kt + +enum class X { + O, + K +} + +// MODULE: caller(lib) +// !LANGUAGE: +EnumEntries + +// FILE: F.kt + +inline fun test(idx: Int, block: () -> String): String { + return block() +} + +@OptIn(ExperimentalStdlibApi::class) +fun box(): String { + return test(0) { X.entries[0].toString() } + + test(1) { X.entries[1].toString() } +} + +// no additional mappings cause when in inline lambda (same module) +// 1 class FKt\$EntriesMappings +// 1 Lkotlin\/enums\/EnumEntries; entries\$0 +// 0 Lkotlin\/enums\/EnumEntries; entries\$1 diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxInlineCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxInlineCodegenTestGenerated.java index 83f86442184..a0adf02e245 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxInlineCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxInlineCodegenTestGenerated.java @@ -488,6 +488,16 @@ public class BlackBoxInlineCodegenTestGenerated extends AbstractBlackBoxInlineCo runTest("compiler/testData/codegen/boxInline/anonymousObject/withInlineMethod.kt"); } + @Nested + @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumEntries") + @TestDataPath("$PROJECT_ROOT") + public class EnumEntries { + @Test + public void testAllFilesPresentInEnumEntries() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline/anonymousObject/enumEntries"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true); + } + } + @Nested @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumWhen") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/CompileKotlinAgainstInlineKotlinTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/CompileKotlinAgainstInlineKotlinTestGenerated.java index ca5e68d6cfa..e0afc26cb50 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/CompileKotlinAgainstInlineKotlinTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/CompileKotlinAgainstInlineKotlinTestGenerated.java @@ -488,6 +488,16 @@ public class CompileKotlinAgainstInlineKotlinTestGenerated extends AbstractCompi runTest("compiler/testData/codegen/boxInline/anonymousObject/withInlineMethod.kt"); } + @Nested + @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumEntries") + @TestDataPath("$PROJECT_ROOT") + public class EnumEntries { + @Test + public void testAllFilesPresentInEnumEntries() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline/anonymousObject/enumEntries"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true); + } + } + @Nested @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumWhen") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenTestGenerated.java index 957430f5581..318de5e7947 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxInlineCodegenTestGenerated.java @@ -488,6 +488,40 @@ public class IrBlackBoxInlineCodegenTestGenerated extends AbstractIrBlackBoxInli runTest("compiler/testData/codegen/boxInline/anonymousObject/withInlineMethod.kt"); } + @Nested + @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumEntries") + @TestDataPath("$PROJECT_ROOT") + public class EnumEntries { + @Test + public void testAllFilesPresentInEnumEntries() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline/anonymousObject/enumEntries"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("callSite.kt") + public void testCallSite() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/callSite.kt"); + } + + @Test + @TestMetadata("declSite.kt") + public void testDeclSite() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSite.kt"); + } + + @Test + @TestMetadata("declSiteSeveralMappings.kt") + public void testDeclSiteSeveralMappings() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappings.kt"); + } + + @Test + @TestMetadata("declSiteSeveralMappingsDifOrder.kt") + public void testDeclSiteSeveralMappingsDifOrder() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappingsDifOrder.kt"); + } + } + @Nested @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumWhen") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeTextTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeTextTestGenerated.java index 629fab4479c..088545d3788 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeTextTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeTextTestGenerated.java @@ -3414,6 +3414,12 @@ public class IrBytecodeTextTestGenerated extends AbstractIrBytecodeTextTest { runTest("compiler/testData/codegen/bytecodeText/inline/deleteClassOnTransformation.kt"); } + @Test + @TestMetadata("entriesMappingOnCallSite.kt") + public void testEntriesMappingOnCallSite() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/entriesMappingOnCallSite.kt"); + } + @Test @TestMetadata("finallyMarkers.kt") public void testFinallyMarkers() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrCompileKotlinAgainstInlineKotlinTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrCompileKotlinAgainstInlineKotlinTestGenerated.java index 769ebf08547..be33f05b52e 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrCompileKotlinAgainstInlineKotlinTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrCompileKotlinAgainstInlineKotlinTestGenerated.java @@ -488,6 +488,40 @@ public class IrCompileKotlinAgainstInlineKotlinTestGenerated extends AbstractIrC runTest("compiler/testData/codegen/boxInline/anonymousObject/withInlineMethod.kt"); } + @Nested + @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumEntries") + @TestDataPath("$PROJECT_ROOT") + public class EnumEntries { + @Test + public void testAllFilesPresentInEnumEntries() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline/anonymousObject/enumEntries"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("callSite.kt") + public void testCallSite() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/callSite.kt"); + } + + @Test + @TestMetadata("declSite.kt") + public void testDeclSite() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSite.kt"); + } + + @Test + @TestMetadata("declSiteSeveralMappings.kt") + public void testDeclSiteSeveralMappings() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappings.kt"); + } + + @Test + @TestMetadata("declSiteSeveralMappingsDifOrder.kt") + public void testDeclSiteSeveralMappingsDifOrder() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappingsDifOrder.kt"); + } + } + @Nested @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumWhen") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java index 60d6a51dae0..f0b5adbae23 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrSerializeCompileKotlinAgainstInlineKotlinTestGenerated.java @@ -488,6 +488,40 @@ public class IrSerializeCompileKotlinAgainstInlineKotlinTestGenerated extends Ab runTest("compiler/testData/codegen/boxInline/anonymousObject/withInlineMethod.kt"); } + @Nested + @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumEntries") + @TestDataPath("$PROJECT_ROOT") + public class EnumEntries { + @Test + public void testAllFilesPresentInEnumEntries() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline/anonymousObject/enumEntries"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @Test + @TestMetadata("callSite.kt") + public void testCallSite() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/callSite.kt"); + } + + @Test + @TestMetadata("declSite.kt") + public void testDeclSite() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSite.kt"); + } + + @Test + @TestMetadata("declSiteSeveralMappings.kt") + public void testDeclSiteSeveralMappings() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappings.kt"); + } + + @Test + @TestMetadata("declSiteSeveralMappingsDifOrder.kt") + public void testDeclSiteSeveralMappingsDifOrder() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappingsDifOrder.kt"); + } + } + @Nested @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumWhen") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmIrAgainstOldBoxInlineTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmIrAgainstOldBoxInlineTestGenerated.java index 49d671297e3..c05518608c4 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmIrAgainstOldBoxInlineTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmIrAgainstOldBoxInlineTestGenerated.java @@ -488,6 +488,40 @@ public class JvmIrAgainstOldBoxInlineTestGenerated extends AbstractJvmIrAgainstO runTest("compiler/testData/codegen/boxInline/anonymousObject/withInlineMethod.kt"); } + @Nested + @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumEntries") + @TestDataPath("$PROJECT_ROOT") + public class EnumEntries { + @Test + public void testAllFilesPresentInEnumEntries() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline/anonymousObject/enumEntries"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_MULTI_MODULE_IR_AGAINST_OLD, true); + } + + @Test + @TestMetadata("callSite.kt") + public void testCallSite() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/callSite.kt"); + } + + @Test + @TestMetadata("declSite.kt") + public void testDeclSite() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSite.kt"); + } + + @Test + @TestMetadata("declSiteSeveralMappings.kt") + public void testDeclSiteSeveralMappings() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappings.kt"); + } + + @Test + @TestMetadata("declSiteSeveralMappingsDifOrder.kt") + public void testDeclSiteSeveralMappingsDifOrder() throws Exception { + runTest("compiler/testData/codegen/boxInline/anonymousObject/enumEntries/declSiteSeveralMappingsDifOrder.kt"); + } + } + @Nested @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumWhen") @TestDataPath("$PROJECT_ROOT") diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmOldAgainstIrBoxInlineTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmOldAgainstIrBoxInlineTestGenerated.java index f4f1b7e1cb1..ffb5f595b3b 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmOldAgainstIrBoxInlineTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/JvmOldAgainstIrBoxInlineTestGenerated.java @@ -488,6 +488,16 @@ public class JvmOldAgainstIrBoxInlineTestGenerated extends AbstractJvmOldAgainst runTest("compiler/testData/codegen/boxInline/anonymousObject/withInlineMethod.kt"); } + @Nested + @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumEntries") + @TestDataPath("$PROJECT_ROOT") + public class EnumEntries { + @Test + public void testAllFilesPresentInEnumEntries() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline/anonymousObject/enumEntries"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_MULTI_MODULE_OLD_AGAINST_IR, true); + } + } + @Nested @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumWhen") @TestDataPath("$PROJECT_ROOT") diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenInlineTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenInlineTestGenerated.java index 409d09962c9..626f1df7758 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenInlineTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenInlineTestGenerated.java @@ -440,6 +440,16 @@ public class JsCodegenInlineTestGenerated extends AbstractJsCodegenInlineTest { runTest("compiler/testData/codegen/boxInline/anonymousObject/withInlineMethod.kt"); } + @Nested + @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumEntries") + @TestDataPath("$PROJECT_ROOT") + public class EnumEntries { + @Test + public void testAllFilesPresentInEnumEntries() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline/anonymousObject/enumEntries"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS, true); + } + } + @Nested @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumWhen") @TestDataPath("$PROJECT_ROOT") diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenInlineTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenInlineTestGenerated.java index 3c7f418fb7d..f76fbdd1bc9 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenInlineTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenInlineTestGenerated.java @@ -440,6 +440,16 @@ public class IrJsCodegenInlineTestGenerated extends AbstractIrJsCodegenInlineTes runTest("compiler/testData/codegen/boxInline/anonymousObject/withInlineMethod.kt"); } + @Nested + @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumEntries") + @TestDataPath("$PROJECT_ROOT") + public class EnumEntries { + @Test + public void testAllFilesPresentInEnumEntries() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline/anonymousObject/enumEntries"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + @Nested @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumWhen") @TestDataPath("$PROJECT_ROOT") diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxInlineWasmTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxInlineWasmTestGenerated.java index d240bea3afe..4cde344d6e8 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxInlineWasmTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/wasm/semantics/IrCodegenBoxInlineWasmTestGenerated.java @@ -385,6 +385,19 @@ public class IrCodegenBoxInlineWasmTestGenerated extends AbstractIrCodegenBoxInl runTest("compiler/testData/codegen/boxInline/anonymousObject/withInlineMethod.kt"); } + @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumEntries") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class EnumEntries extends AbstractIrCodegenBoxInlineWasmTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest0(this::doTest, TargetBackend.WASM, testDataFilePath); + } + + public void testAllFilesPresentInEnumEntries() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline/anonymousObject/enumEntries"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.WASM, true); + } + } + @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumWhen") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java index c5aabed02da..8843d07882e 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java @@ -40478,6 +40478,18 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest runTest("compiler/testData/codegen/boxInline/anonymousObject/withInlineMethod.kt"); } + @Nested + @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumEntries") + @TestDataPath("$PROJECT_ROOT") + @Tag("codegen") + @UseExtTestCaseGroupProvider() + public class EnumEntries { + @Test + public void testAllFilesPresentInEnumEntries() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline/anonymousObject/enumEntries"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + } + @Nested @TestMetadata("compiler/testData/codegen/boxInline/anonymousObject/enumWhen") @TestDataPath("$PROJECT_ROOT")