Create classes when deserializing enum entries
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
package aaa
|
||||
|
||||
enum class E {
|
||||
TRIVIAL_ENTRY
|
||||
SUBCLASS { }
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
import aaa.E
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
if (E.TRIVIAL_ENTRY == E.SUBCLASS) throw AssertionError()
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package aaa
|
||||
|
||||
enum class E {
|
||||
TRIVIAL_ENTRY
|
||||
SUBCLASS { }
|
||||
|
||||
class Nested {
|
||||
fun fortyTwo() = 42
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import aaa.E.*
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
if (TRIVIAL_ENTRY == SUBCLASS) throw AssertionError()
|
||||
if (Nested().fortyTwo() != 42) throw AssertionError()
|
||||
}
|
||||
@@ -7,10 +7,21 @@ internal final enum class In : jet.Enum<test.In> {
|
||||
|
||||
public class object <class-object-for-In> {
|
||||
private constructor <class-object-for-In>()
|
||||
public final val A: test.In
|
||||
public final /*synthesized*/ fun valueOf(/*0*/ value: jet.String): test.In
|
||||
public final /*synthesized*/ fun values(): jet.Array<test.In>
|
||||
}
|
||||
|
||||
public enum entry A : test.In {
|
||||
private constructor A()
|
||||
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-A> : test.In.A {
|
||||
private constructor <class-object-for-A>()
|
||||
public final override /*1*/ /*fake_override*/ fun name(): jet.String
|
||||
public final override /*1*/ /*fake_override*/ fun ordinal(): jet.Int
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private final enum class Pr : jet.Enum<test.Pr> {
|
||||
@@ -20,10 +31,21 @@ private final enum class Pr : jet.Enum<test.Pr> {
|
||||
|
||||
public class object <class-object-for-Pr> {
|
||||
private constructor <class-object-for-Pr>()
|
||||
public final val A: test.Pr
|
||||
public final /*synthesized*/ fun valueOf(/*0*/ value: jet.String): test.Pr
|
||||
public final /*synthesized*/ fun values(): jet.Array<test.Pr>
|
||||
}
|
||||
|
||||
public enum entry A : test.Pr {
|
||||
private constructor A()
|
||||
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-A> : test.Pr.A {
|
||||
private constructor <class-object-for-A>()
|
||||
public final override /*1*/ /*fake_override*/ fun name(): jet.String
|
||||
public final override /*1*/ /*fake_override*/ fun ordinal(): jet.Int
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public final enum class Pu : jet.Enum<test.Pu> {
|
||||
@@ -33,8 +55,19 @@ public final enum class Pu : jet.Enum<test.Pu> {
|
||||
|
||||
public class object <class-object-for-Pu> {
|
||||
private constructor <class-object-for-Pu>()
|
||||
public final val A: test.Pu
|
||||
public final /*synthesized*/ fun valueOf(/*0*/ value: jet.String): test.Pu
|
||||
public final /*synthesized*/ fun values(): jet.Array<test.Pu>
|
||||
}
|
||||
|
||||
public enum entry A : test.Pu {
|
||||
private constructor A()
|
||||
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-A> : test.Pu.A {
|
||||
private constructor <class-object-for-A>()
|
||||
public final override /*1*/ /*fake_override*/ fun name(): jet.String
|
||||
public final override /*1*/ /*fake_override*/ fun ordinal(): jet.Int
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,9 +10,20 @@ internal final class A {
|
||||
|
||||
public class object <class-object-for-E> {
|
||||
private constructor <class-object-for-E>()
|
||||
public final val ENTRY: test.A.E
|
||||
public final /*synthesized*/ fun valueOf(/*0*/ value: jet.String): test.A.E
|
||||
public final /*synthesized*/ fun values(): jet.Array<test.A.E>
|
||||
}
|
||||
|
||||
public enum entry ENTRY : test.A.E {
|
||||
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.A.E.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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,9 +14,20 @@ internal final class A {
|
||||
|
||||
public class object <class-object-for-E> {
|
||||
private constructor <class-object-for-E>()
|
||||
public final val ENTRY: test.A.E
|
||||
public final /*synthesized*/ fun valueOf(/*0*/ value: jet.String): test.A.E
|
||||
public final /*synthesized*/ fun values(): jet.Array<test.A.E>
|
||||
}
|
||||
|
||||
public enum entry ENTRY : test.A.E {
|
||||
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.A.E.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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,8 +7,19 @@ internal final enum class MyEnum : jet.Enum<test.MyEnum> {
|
||||
|
||||
public class object <class-object-for-MyEnum> {
|
||||
private constructor <class-object-for-MyEnum>()
|
||||
public final val ENTRY: test.MyEnum
|
||||
public final /*synthesized*/ fun valueOf(/*0*/ value: jet.String): test.MyEnum
|
||||
public final /*synthesized*/ fun values(): jet.Array<test.MyEnum>
|
||||
}
|
||||
|
||||
public enum entry ENTRY : test.MyEnum {
|
||||
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.MyEnum.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