8d25c20169
Sealed classes can be derived only by their own inner classes or objects. Their constructors cannot be called explicitly, so compiler knows all their descendants. Incompatible modifier checks (final, abstract). Impossible with interface, object, enum. A pack of tests provided.
46 lines
2.6 KiB
Plaintext
Vendored
46 lines
2.6 KiB
Plaintext
Vendored
package
|
|
|
|
internal sealed enum class SealedEnum : kotlin.Enum<SealedEnum> {
|
|
public enum entry FIRST : SealedEnum {
|
|
private constructor FIRST()
|
|
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: SealedEnum): 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 SECOND : SealedEnum {
|
|
private constructor SECOND()
|
|
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: SealedEnum): 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
|
|
}
|
|
|
|
private constructor SealedEnum()
|
|
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: SealedEnum): 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
|
|
|
|
internal final class Derived : SealedEnum {
|
|
public constructor Derived()
|
|
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: SealedEnum): 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): SealedEnum
|
|
public final /*synthesized*/ fun values(): kotlin.Array<SealedEnum>
|
|
}
|