KT-35897: change type for enum constructor for visibility
This commit is contained in:
committed by
Ilya Kirillov
parent
32748ea741
commit
517de44d20
@@ -26,7 +26,7 @@ class InternalDeclarationConversion(context: NewJ2kConverterContext) : Recursive
|
|||||||
element.visibility = when {
|
element.visibility = when {
|
||||||
containingClassKind == JKClass.ClassKind.INTERFACE || containingClassKind == JKClass.ClassKind.ANNOTATION ->
|
containingClassKind == JKClass.ClassKind.INTERFACE || containingClassKind == JKClass.ClassKind.ANNOTATION ->
|
||||||
Visibility.PUBLIC
|
Visibility.PUBLIC
|
||||||
containingClassKind == JKClass.ClassKind.ENUM && element is JKKtPrimaryConstructor ->
|
containingClassKind == JKClass.ClassKind.ENUM && element is JKConstructor ->
|
||||||
Visibility.PRIVATE
|
Visibility.PRIVATE
|
||||||
element is JKClass && !element.isLocalClass() ->
|
element is JKClass && !element.isLocalClass() ->
|
||||||
Visibility.INTERNAL
|
Visibility.INTERNAL
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
public enum JavaEnum {
|
||||||
|
A("a"), B;
|
||||||
|
|
||||||
|
JavaEnum(String x) {
|
||||||
|
this.x = x;
|
||||||
|
}
|
||||||
|
|
||||||
|
JavaEnum() {
|
||||||
|
this.x = "default";
|
||||||
|
}
|
||||||
|
|
||||||
|
protected String x;
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
enum class JavaEnum {
|
||||||
|
A("a"), B;
|
||||||
|
|
||||||
|
constructor(x: String) {
|
||||||
|
this.x = x
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
x = "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
protected var x: String
|
||||||
|
}
|
||||||
+5
@@ -1864,6 +1864,11 @@ public class NewJavaToKotlinConverterSingleFileTestGenerated extends AbstractNew
|
|||||||
runTest("nj2k/testData/newJ2k/enum/fieldsWithPrimaryPrivateConstructor.java");
|
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")
|
@TestMetadata("internalEnum.java")
|
||||||
public void testInternalEnum() throws Exception {
|
public void testInternalEnum() throws Exception {
|
||||||
runTest("nj2k/testData/newJ2k/enum/internalEnum.java");
|
runTest("nj2k/testData/newJ2k/enum/internalEnum.java");
|
||||||
|
|||||||
Reference in New Issue
Block a user