Prohibit type parameters for enum classes

#KT-5696 Fixed
This commit is contained in:
Alexander Udalov
2014-10-17 15:01:26 +04:00
parent 63366042ed
commit ae401cac0f
17 changed files with 114 additions and 109 deletions
@@ -0,0 +1,7 @@
// KT-5696 Prohibit type parameters for enum classes
package bug
public enum class Foo<!TYPE_PARAMETERS_IN_ENUM!><T><!> {
A : Foo<String>()
}
@@ -0,0 +1,38 @@
package
package bug {
public final enum class Foo</*0*/ T> : kotlin.Enum<bug.Foo<T>> {
private constructor Foo</*0*/ T>()
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: bug.Foo<T>): 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
public enum entry A : bug.Foo<kotlin.String> {
private constructor A()
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: bug.Foo<kotlin.String>): 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
public class object <class-object-for-A> : bug.Foo.A {
private constructor <class-object-for-A>()
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: bug.Foo<kotlin.String>): 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): bug.Foo<T>
public final /*synthesized*/ fun values(): kotlin.Array<bug.Foo<T>>
}
}