diff --git a/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/services/libraries/CompilerExecutor.kt b/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/services/libraries/CompilerExecutor.kt index f18a06c13e9..6ca9de7e566 100644 --- a/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/services/libraries/CompilerExecutor.kt +++ b/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/services/libraries/CompilerExecutor.kt @@ -49,6 +49,10 @@ object CompilerExecutor { addAll(listOf("-api-version", apiVersion.versionString)) } + module.directives[LanguageSettingsDirectives.LANGUAGE].firstOrNull()?.let { + add("-XXLanguage:$it") + } + module.directives[JvmEnvironmentConfigurationDirectives.JVM_TARGET].firstOrNull()?.let { jvmTarget -> addAll(listOf("-jvm-target", jvmTarget.description)) } diff --git a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesForLibraryTestGenerated.java b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesForLibraryTestGenerated.java index d6be6cdf296..20dac4962ce 100644 --- a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesForLibraryTestGenerated.java +++ b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesForLibraryTestGenerated.java @@ -126,6 +126,18 @@ public class SymbolLightClassesForLibraryTestGenerated extends AbstractSymbolLig runTest("compiler/testData/asJava/lightClasses/DollarsInNameNoPackage.kt"); } + @Test + @TestMetadata("EnumClass.kt") + public void testEnumClass() throws Exception { + runTest("compiler/testData/asJava/lightClasses/EnumClass.kt"); + } + + @Test + @TestMetadata("EnumClassWithEnumEntries.kt") + public void testEnumClassWithEnumEntries() throws Exception { + runTest("compiler/testData/asJava/lightClasses/EnumClassWithEnumEntries.kt"); + } + @Test @TestMetadata("EnumEntry.kt") public void testEnumEntry() throws Exception { diff --git a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesParentingForLibraryTestGenerated.java b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesParentingForLibraryTestGenerated.java index 17dc79c7f01..c424ebed320 100644 --- a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesParentingForLibraryTestGenerated.java +++ b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesParentingForLibraryTestGenerated.java @@ -126,6 +126,18 @@ public class SymbolLightClassesParentingForLibraryTestGenerated extends Abstract runTest("compiler/testData/asJava/lightClasses/DollarsInNameNoPackage.kt"); } + @Test + @TestMetadata("EnumClass.kt") + public void testEnumClass() throws Exception { + runTest("compiler/testData/asJava/lightClasses/EnumClass.kt"); + } + + @Test + @TestMetadata("EnumClassWithEnumEntries.kt") + public void testEnumClassWithEnumEntries() throws Exception { + runTest("compiler/testData/asJava/lightClasses/EnumClassWithEnumEntries.kt"); + } + @Test @TestMetadata("EnumEntry.kt") public void testEnumEntry() throws Exception { diff --git a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesForSourceTestGenerated.java b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesForSourceTestGenerated.java index a5e1e7a0577..04d8deb5a96 100644 --- a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesForSourceTestGenerated.java +++ b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesForSourceTestGenerated.java @@ -126,6 +126,18 @@ public class SymbolLightClassesForSourceTestGenerated extends AbstractSymbolLigh runTest("compiler/testData/asJava/lightClasses/DollarsInNameNoPackage.kt"); } + @Test + @TestMetadata("EnumClass.kt") + public void testEnumClass() throws Exception { + runTest("compiler/testData/asJava/lightClasses/EnumClass.kt"); + } + + @Test + @TestMetadata("EnumClassWithEnumEntries.kt") + public void testEnumClassWithEnumEntries() throws Exception { + runTest("compiler/testData/asJava/lightClasses/EnumClassWithEnumEntries.kt"); + } + @Test @TestMetadata("EnumEntry.kt") public void testEnumEntry() throws Exception { diff --git a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesParentingForSourceTestGenerated.java b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesParentingForSourceTestGenerated.java index 8a5d8f5064c..1b53f1d26b7 100644 --- a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesParentingForSourceTestGenerated.java +++ b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesParentingForSourceTestGenerated.java @@ -126,6 +126,18 @@ public class SymbolLightClassesParentingForSourceTestGenerated extends AbstractS runTest("compiler/testData/asJava/lightClasses/DollarsInNameNoPackage.kt"); } + @Test + @TestMetadata("EnumClass.kt") + public void testEnumClass() throws Exception { + runTest("compiler/testData/asJava/lightClasses/EnumClass.kt"); + } + + @Test + @TestMetadata("EnumClassWithEnumEntries.kt") + public void testEnumClassWithEnumEntries() throws Exception { + runTest("compiler/testData/asJava/lightClasses/EnumClassWithEnumEntries.kt"); + } + @Test @TestMetadata("EnumEntry.kt") public void testEnumEntry() throws Exception { diff --git a/compiler/testData/asJava/lightClasses/EnumClass.java b/compiler/testData/asJava/lightClasses/EnumClass.java new file mode 100644 index 00000000000..27b0bdb3521 --- /dev/null +++ b/compiler/testData/asJava/lightClasses/EnumClass.java @@ -0,0 +1,14 @@ +public enum MyEnumClass /* one.MyEnumClass*/ { + Entry; + + @org.jetbrains.annotations.NotNull() + public static one.MyEnumClass valueOf(@org.jetbrains.annotations.NotNull() java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String) + + @org.jetbrains.annotations.NotNull() + public static one.MyEnumClass[] values();// values() + + private MyEnumClass();// .ctor() + + public final int foo();// foo() + +} diff --git a/compiler/testData/asJava/lightClasses/EnumClass.kt b/compiler/testData/asJava/lightClasses/EnumClass.kt new file mode 100644 index 00000000000..e54de7d6087 --- /dev/null +++ b/compiler/testData/asJava/lightClasses/EnumClass.kt @@ -0,0 +1,9 @@ +// one.MyEnumClass + +package one + +enum class MyEnumClass { + Entry; + + fun foo(): Int = 0 +} diff --git a/compiler/testData/asJava/lightClasses/EnumClassWithEnumEntries.java b/compiler/testData/asJava/lightClasses/EnumClassWithEnumEntries.java new file mode 100644 index 00000000000..71474af3064 --- /dev/null +++ b/compiler/testData/asJava/lightClasses/EnumClassWithEnumEntries.java @@ -0,0 +1,14 @@ +public enum MyEnumClass /* one.MyEnumClass*/ { + Entry; + + @org.jetbrains.annotations.NotNull() + public static one.MyEnumClass valueOf(@org.jetbrains.annotations.NotNull() java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String) + + @org.jetbrains.annotations.NotNull() + public static one.MyEnumClass[] values();// values() + + private MyEnumClass();// .ctor() + + public final int doo();// doo() + +} diff --git a/compiler/testData/asJava/lightClasses/EnumClassWithEnumEntries.kt b/compiler/testData/asJava/lightClasses/EnumClassWithEnumEntries.kt new file mode 100644 index 00000000000..6aa36cbecad --- /dev/null +++ b/compiler/testData/asJava/lightClasses/EnumClassWithEnumEntries.kt @@ -0,0 +1,10 @@ +// one.MyEnumClass +// !LANGUAGE: +EnumEntries + +package one + +enum class MyEnumClass { + Entry; + + fun doo(): Int = 0 +} diff --git a/compiler/testData/asJava/lightClasses/EnumClassWithEnumEntries.lib.java b/compiler/testData/asJava/lightClasses/EnumClassWithEnumEntries.lib.java new file mode 100644 index 00000000000..5876edc8b5e --- /dev/null +++ b/compiler/testData/asJava/lightClasses/EnumClassWithEnumEntries.lib.java @@ -0,0 +1,16 @@ +public enum MyEnumClass /* one.MyEnumClass*/ { + Entry; + + @org.jetbrains.annotations.NotNull() + public static one.MyEnumClass valueOf(@org.jetbrains.annotations.NotNull() java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String) + + @org.jetbrains.annotations.NotNull() + public static one.MyEnumClass[] values();// values() + + private MyEnumClass();// .ctor() + + public final int doo();// doo() + + public static kotlin.enums.EnumEntries getEntries();// getEntries() + +} diff --git a/compiler/tests-gen/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java index 0623e243f83..1657e8d3be4 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java @@ -114,6 +114,16 @@ public class CompilerLightClassTestGenerated extends AbstractCompilerLightClassT runTest("compiler/testData/asJava/lightClasses/DollarsInNameNoPackage.kt"); } + @TestMetadata("EnumClass.kt") + public void testEnumClass() throws Exception { + runTest("compiler/testData/asJava/lightClasses/EnumClass.kt"); + } + + @TestMetadata("EnumClassWithEnumEntries.kt") + public void testEnumClassWithEnumEntries() throws Exception { + runTest("compiler/testData/asJava/lightClasses/EnumClassWithEnumEntries.kt"); + } + @TestMetadata("EnumEntry.kt") public void testEnumEntry() throws Exception { runTest("compiler/testData/asJava/lightClasses/EnumEntry.kt");