Make enum classes comparable

#KT-3727 Fixed
This commit is contained in:
Alexander Udalov
2014-10-16 20:42:40 +04:00
parent 02861308bc
commit 624e507ec2
10 changed files with 88 additions and 14 deletions
@@ -4,6 +4,8 @@ enum class E {
<!OVERRIDING_FINAL_MEMBER!>override<!> fun name(): String = "lol"
<!OVERRIDING_FINAL_MEMBER!>override<!> fun ordinal(): Int = 0
<!OVERRIDING_FINAL_MEMBER!>override<!> fun compareTo(other: E) = -1
<!OVERRIDING_FINAL_MEMBER!>override<!> fun equals(other: Any?) = true
<!OVERRIDING_FINAL_MEMBER!>override<!> fun hashCode() = -1
}
@@ -2,6 +2,7 @@ package
internal final enum class E : kotlin.Enum<E> {
private constructor E()
public open override /*1*/ fun compareTo(/*0*/ other: E): kotlin.Int
public open override /*1*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ fun hashCode(): kotlin.Int
public open override /*1*/ fun name(): kotlin.String
@@ -10,6 +11,7 @@ internal final enum class E : kotlin.Enum<E> {
public enum entry ENTRY : E {
private constructor ENTRY()
public open override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: E): kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun name(): kotlin.String
@@ -18,6 +20,7 @@ internal final enum class E : kotlin.Enum<E> {
public class object <class-object-for-ENTRY> : E.ENTRY {
private constructor <class-object-for-ENTRY>()
public open override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: E): kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun name(): kotlin.String