Drop old enum syntax. Comma / semicolon are now a syntactic part of enum entry.

Comma must present now between enum entries, semicolon between last entry & first member, constructor calls must be without colons / specifiers.
A swarm of tests fixed accordingly.
This commit is contained in:
Mikhail Glukhikh
2015-08-05 18:22:21 +03:00
parent e5ab7de870
commit 3f14e74b08
190 changed files with 810 additions and 3201 deletions
@@ -1,5 +1,5 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
//KT-1193 Check enum entry supertype
//KT-1193 Check enum entry supertype / initialization
package kt1193
@@ -9,8 +9,5 @@ enum class MyEnum(val i: Int) {
}
open class A(x: Int = 1)
enum class MyOtherEnum(val i: Int) {
X : <!ENUM_ENTRY_USES_DEPRECATED_SUPER_CONSTRUCTOR!><!ENUM_ENTRY_ILLEGAL_TYPE!>A<!>(3)<!>,
Y : <!ENUM_ENTRY_USES_DEPRECATED_SUPER_CONSTRUCTOR!><!ENUM_ENTRY_ILLEGAL_TYPE!>A<!>()<!>,
Z : <!ENUM_ENTRY_USES_DEPRECATED_SUPER_CONSTRUCTOR!><!ENUM_ENTRY_ILLEGAL_TYPE!>A<!>(3)<!> {}
}
val x: MyEnum = MyEnum.A
@@ -1,6 +1,7 @@
package
package kt1193 {
internal val x: kt1193.MyEnum
internal open class A {
public constructor A(/*0*/ x: kotlin.Int = ...)
@@ -45,40 +46,4 @@ package kt1193 {
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): kt1193.MyEnum
public final /*synthesized*/ fun values(): kotlin.Array<kt1193.MyEnum>
}
internal final enum class MyOtherEnum : kotlin.Enum<kt1193.MyOtherEnum> {
public enum entry X : kt1193.A {
private constructor X()
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 toString(): kotlin.String
}
public enum entry Y : kt1193.A {
private constructor Y()
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 toString(): kotlin.String
}
public enum entry Z : kt1193.A {
private constructor Z()
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 toString(): kotlin.String
}
private constructor MyOtherEnum(/*0*/ i: kotlin.Int)
internal final val i: kotlin.Int
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: kt1193.MyOtherEnum): kotlin.Int
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): kt1193.MyOtherEnum
public final /*synthesized*/ fun values(): kotlin.Array<kt1193.MyOtherEnum>
}
}