// -- Module: <m1-common> --
package

public fun testCommon(/*0*/ base: Base): kotlin.Unit

public final expect enum class Base : kotlin.Enum<Base> {
    expect enum entry A

    expect enum entry B

    public final override /*1*/ /*fake_override*/ val name: kotlin.String
    public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
    protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
    public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: Base): 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 open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

    // Static members
    public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Base
    public final /*synthesized*/ fun values(): kotlin.Array<Base>
}

// -- Module: <m1-jvm> --
package

public fun testCommon(/*0*/ base: Base): kotlin.Unit
public fun testPlatformBad(/*0*/ base: Base): kotlin.Unit
public fun testPlatformGood(/*0*/ base: Base): kotlin.Unit

public final actual enum class Base : kotlin.Enum<Base> {
    enum entry A

    enum entry B

    enum entry C

    private constructor Base()
    public final override /*1*/ /*fake_override*/ val name: kotlin.String
    public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
    protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
    public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: Base): kotlin.Int
    public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    protected/*protected and package*/ final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit
    public final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): java.lang.Class<Base!>!
    public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

    // Static members
    public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Base
    public final /*synthesized*/ fun values(): kotlin.Array<Base>
}
