From a816de48656a5d71f613231fd81586dfb9f28960 Mon Sep 17 00:00:00 2001 From: Alexander Gorshenev Date: Thu, 13 Jun 2019 19:31:25 +0300 Subject: [PATCH] Added a test for members of EnumEntry in a library. --- .../codegen/box/enum/enumEntryMembers.kt | 30 +++++++++++++++++++ .../codegen/BlackBoxCodegenTestGenerated.java | 5 ++++ .../LightAnalysisModeTestGenerated.java | 5 ++++ .../ir/IrBlackBoxCodegenTestGenerated.java | 5 ++++ .../IrJsCodegenBoxTestGenerated.java | 5 ++++ .../semantics/JsCodegenBoxTestGenerated.java | 5 ++++ 6 files changed, 55 insertions(+) create mode 100644 compiler/testData/codegen/box/enum/enumEntryMembers.kt diff --git a/compiler/testData/codegen/box/enum/enumEntryMembers.kt b/compiler/testData/codegen/box/enum/enumEntryMembers.kt new file mode 100644 index 00000000000..919960c4463 --- /dev/null +++ b/compiler/testData/codegen/box/enum/enumEntryMembers.kt @@ -0,0 +1,30 @@ +// WITH_RUNTIME +// MODULE: lib +// FILE: lib.kt +enum class Foo { + FOO() { + override fun foo() = "foo" + + override var xxx: String + get() = "xxx" + set(value: String) { + } + }; + + abstract fun foo(): String + abstract var xxx: String +} + +// MODULE: main(lib) +// FILE: main.kt +import kotlin.test.assertEquals + +fun box(): String { + assertEquals(Foo.FOO.foo(), "foo") + Foo.FOO.xxx = "zzzz" + assertEquals(Foo.FOO.xxx, "xxx") + assertEquals(Foo.FOO.toString(), "FOO") + assertEquals(Foo.valueOf("FOO").toString(), "FOO") + return "OK" +} + diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java index 9c2c1446f8f..c75d5baa3d7 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java @@ -10174,6 +10174,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/enum/enumCompanionInit.kt"); } + @TestMetadata("enumEntryMembers.kt") + public void testEnumEntryMembers() throws Exception { + runTest("compiler/testData/codegen/box/enum/enumEntryMembers.kt"); + } + @TestMetadata("enumEntryReferenceFromInnerClassConstructor1.kt") public void testEnumEntryReferenceFromInnerClassConstructor1() throws Exception { runTest("compiler/testData/codegen/box/enum/enumEntryReferenceFromInnerClassConstructor1.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index dfd14d80d1d..7c2162b8f37 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -10174,6 +10174,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/enum/enumCompanionInit.kt"); } + @TestMetadata("enumEntryMembers.kt") + public void testEnumEntryMembers() throws Exception { + runTest("compiler/testData/codegen/box/enum/enumEntryMembers.kt"); + } + @TestMetadata("enumEntryReferenceFromInnerClassConstructor1.kt") public void testEnumEntryReferenceFromInnerClassConstructor1() throws Exception { runTest("compiler/testData/codegen/box/enum/enumEntryReferenceFromInnerClassConstructor1.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java index e43a506369a..8d06a6dceee 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java @@ -10174,6 +10174,11 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/enum/enumCompanionInit.kt"); } + @TestMetadata("enumEntryMembers.kt") + public void testEnumEntryMembers() throws Exception { + runTest("compiler/testData/codegen/box/enum/enumEntryMembers.kt"); + } + @TestMetadata("enumEntryReferenceFromInnerClassConstructor1.kt") public void testEnumEntryReferenceFromInnerClassConstructor1() throws Exception { runTest("compiler/testData/codegen/box/enum/enumEntryReferenceFromInnerClassConstructor1.kt"); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java index ac04c2a2455..47118bade90 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java @@ -7879,6 +7879,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/enum/enumCompanionInit.kt"); } + @TestMetadata("enumEntryMembers.kt") + public void testEnumEntryMembers() throws Exception { + runTest("compiler/testData/codegen/box/enum/enumEntryMembers.kt"); + } + @TestMetadata("enumEntryReferenceFromInnerClassConstructor1.kt") public void testEnumEntryReferenceFromInnerClassConstructor1() throws Exception { runTest("compiler/testData/codegen/box/enum/enumEntryReferenceFromInnerClassConstructor1.kt"); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java index af94e5bab6c..7ae94f197ff 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java @@ -8964,6 +8964,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/enum/enumCompanionInit.kt"); } + @TestMetadata("enumEntryMembers.kt") + public void testEnumEntryMembers() throws Exception { + runTest("compiler/testData/codegen/box/enum/enumEntryMembers.kt"); + } + @TestMetadata("enumEntryReferenceFromInnerClassConstructor1.kt") public void testEnumEntryReferenceFromInnerClassConstructor1() throws Exception { runTest("compiler/testData/codegen/box/enum/enumEntryReferenceFromInnerClassConstructor1.kt");