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:
Alexander Udalov
2013-11-13 20:32:28 +04:00
parent 57678a5506
commit 83ef095093
14 changed files with 482 additions and 118 deletions
@@ -14,9 +14,20 @@ public trait CustomAnnotation : java.lang.Object {
public class object <class-object-for-MyEnum> {
private constructor <class-object-for-MyEnum>()
public final val ONE: test.CustomAnnotation.MyEnum
public final /*synthesized*/ fun valueOf(/*0*/ value: jet.String): test.CustomAnnotation.MyEnum
public final /*synthesized*/ fun values(): jet.Array<test.CustomAnnotation.MyEnum>
public enum entry ONE : test.CustomAnnotation.MyEnum {
private constructor ONE()
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-ONE> : test.CustomAnnotation.MyEnum.ONE {
private constructor <class-object-for-ONE>()
public final override /*1*/ /*fake_override*/ fun name(): jet.String
public final override /*1*/ /*fake_override*/ fun ordinal(): jet.Int
}
}
}
}