diff --git a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/InternalDeclarationConversion.kt b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/InternalDeclarationConversion.kt index e06776ae81b..e58772b1ecf 100644 --- a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/InternalDeclarationConversion.kt +++ b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/InternalDeclarationConversion.kt @@ -26,7 +26,7 @@ class InternalDeclarationConversion(context: NewJ2kConverterContext) : Recursive element.visibility = when { containingClassKind == JKClass.ClassKind.INTERFACE || containingClassKind == JKClass.ClassKind.ANNOTATION -> Visibility.PUBLIC - containingClassKind == JKClass.ClassKind.ENUM && element is JKKtPrimaryConstructor -> + containingClassKind == JKClass.ClassKind.ENUM && element is JKConstructor -> Visibility.PRIVATE element is JKClass && !element.isLocalClass() -> Visibility.INTERNAL diff --git a/nj2k/testData/newJ2k/enum/implicitlyPrivateConstructorsEnum.java b/nj2k/testData/newJ2k/enum/implicitlyPrivateConstructorsEnum.java new file mode 100644 index 00000000000..3a1e74e03d1 --- /dev/null +++ b/nj2k/testData/newJ2k/enum/implicitlyPrivateConstructorsEnum.java @@ -0,0 +1,13 @@ +public enum JavaEnum { + A("a"), B; + + JavaEnum(String x) { + this.x = x; + } + + JavaEnum() { + this.x = "default"; + } + + protected String x; +} \ No newline at end of file diff --git a/nj2k/testData/newJ2k/enum/implicitlyPrivateConstructorsEnum.kt b/nj2k/testData/newJ2k/enum/implicitlyPrivateConstructorsEnum.kt new file mode 100644 index 00000000000..a98da3a585d --- /dev/null +++ b/nj2k/testData/newJ2k/enum/implicitlyPrivateConstructorsEnum.kt @@ -0,0 +1,13 @@ +enum class JavaEnum { + A("a"), B; + + constructor(x: String) { + this.x = x + } + + constructor() { + x = "default" + } + + protected var x: String +} \ No newline at end of file diff --git a/nj2k/tests/org/jetbrains/kotlin/nj2k/NewJavaToKotlinConverterSingleFileTestGenerated.java b/nj2k/tests/org/jetbrains/kotlin/nj2k/NewJavaToKotlinConverterSingleFileTestGenerated.java index ef0bda7c8cd..359335b9f30 100644 --- a/nj2k/tests/org/jetbrains/kotlin/nj2k/NewJavaToKotlinConverterSingleFileTestGenerated.java +++ b/nj2k/tests/org/jetbrains/kotlin/nj2k/NewJavaToKotlinConverterSingleFileTestGenerated.java @@ -1864,6 +1864,11 @@ public class NewJavaToKotlinConverterSingleFileTestGenerated extends AbstractNew runTest("nj2k/testData/newJ2k/enum/fieldsWithPrimaryPrivateConstructor.java"); } + @TestMetadata("implicitlyPrivateConstructorsEnum.java") + public void testImplicitlyPrivateConstructorsEnum() throws Exception { + runTest("nj2k/testData/newJ2k/enum/implicitlyPrivateConstructorsEnum.java"); + } + @TestMetadata("internalEnum.java") public void testInternalEnum() throws Exception { runTest("nj2k/testData/newJ2k/enum/internalEnum.java");