Change enum entry resolution strategy in JDR
Enum entry is now resolved into a class with a class object, which inherits from the former class, as in the other parts of the compiler. Create a special class EnumEntrySyntheticClassDescriptor which will be reused in deserialization later
This commit is contained in:
@@ -7,9 +7,31 @@ public final enum class JavaEnum : jet.Enum<test.JavaEnum> {
|
||||
|
||||
public class object <class-object-for-JavaEnum> {
|
||||
private constructor <class-object-for-JavaEnum>()
|
||||
public final val ANOTHER: test.JavaEnum
|
||||
public final val ENTRY: test.JavaEnum
|
||||
public final /*synthesized*/ fun valueOf(/*0*/ value: jet.String): test.JavaEnum
|
||||
public final /*synthesized*/ fun values(): jet.Array<test.JavaEnum>
|
||||
|
||||
public enum entry ANOTHER : test.JavaEnum {
|
||||
private constructor ANOTHER()
|
||||
public final override /*1*/ /*fake_override*/ fun name(): jet.String
|
||||
public final override /*1*/ /*fake_override*/ fun ordinal(): jet.Int
|
||||
|
||||
public class object <class-object-for-ANOTHER> : test.JavaEnum.ANOTHER {
|
||||
private constructor <class-object-for-ANOTHER>()
|
||||
public final override /*1*/ /*fake_override*/ fun name(): jet.String
|
||||
public final override /*1*/ /*fake_override*/ fun ordinal(): jet.Int
|
||||
}
|
||||
}
|
||||
|
||||
public enum entry ENTRY : test.JavaEnum {
|
||||
private constructor ENTRY()
|
||||
public final override /*1*/ /*fake_override*/ fun name(): jet.String
|
||||
public final override /*1*/ /*fake_override*/ fun ordinal(): jet.Int
|
||||
|
||||
public class object <class-object-for-ENTRY> : test.JavaEnum.ENTRY {
|
||||
private constructor <class-object-for-ENTRY>()
|
||||
public final override /*1*/ /*fake_override*/ fun name(): jet.String
|
||||
public final override /*1*/ /*fake_override*/ fun ordinal(): jet.Int
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user