Revert "Generate private constructors for Enums" cause of bootstrap problem

This reverts commit 81435c9
This commit is contained in:
Mikhael Bogdanov
2018-09-13 17:07:17 +02:00
parent 76d1d6ff12
commit 03f092fd39
5 changed files with 12 additions and 16 deletions
@@ -546,8 +546,16 @@ public class AsmUtil {
return NO_FLAG_PACKAGE_PRIVATE;
}
if (memberDescriptor instanceof ConstructorDescriptor && isEnumEntry(containingDeclaration)) {
return NO_FLAG_PACKAGE_PRIVATE;
// the following code is only for PRIVATE visibility of member
if (memberDescriptor instanceof ConstructorDescriptor) {
if (isEnumEntry(containingDeclaration)) {
return NO_FLAG_PACKAGE_PRIVATE;
}
if (isEnumClass(containingDeclaration)) {
//TODO: should be ACC_PRIVATE
// see http://youtrack.jetbrains.com/issue/KT-2680
return ACC_PROTECTED;
}
}
return null;
@@ -9,5 +9,5 @@ public enum E {
@kotlin.Deprecated(message = "b")
Entry3;
private E() { /* compiled code */ }
protected E() { /* compiled code */ }
}
@@ -26,7 +26,7 @@ public final enum class TestEnum {
public final static field ANSWER: TestEnum
private final field z: int
static method <clinit>(): void
private method <init>(p0: java.lang.String, p1: int, p2: int): void
protected method <init>(p0: java.lang.String, p1: int, p2: int): void
public final method getZ(): int
public static method valueOf(p0: java.lang.String): TestEnum
public static method values(): TestEnum[]
@@ -1,7 +0,0 @@
enum class Foo {
A, B, C
}
// TESTED_OBJECT_KIND: function
// TESTED_OBJECTS: Foo, <init>
// FLAGS: ACC_PRIVATE
@@ -444,11 +444,6 @@ public class WriteFlagsTestGenerated extends AbstractWriteFlagsTest {
runTest("compiler/testData/writeFlags/function/constructors/classObject.kt");
}
@TestMetadata("enum.kt")
public void testEnum() throws Exception {
runTest("compiler/testData/writeFlags/function/constructors/enum.kt");
}
@TestMetadata("objectInClass.kt")
public void testObjectInClass() throws Exception {
runTest("compiler/testData/writeFlags/function/constructors/objectInClass.kt");