Make enum classes comparable
#KT-3727 Fixed
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
import Game.*
|
||||
|
||||
enum class Game {
|
||||
ROCK
|
||||
PAPER
|
||||
SCISSORS
|
||||
LIZARD
|
||||
SPOCK
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val a = array(LIZARD, SCISSORS, SPOCK, ROCK, PAPER)
|
||||
a.sort()
|
||||
val str = a.joinToString(" ")
|
||||
return if (str == "ROCK PAPER SCISSORS LIZARD SPOCK") "OK" else "Fail: $str"
|
||||
}
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user