enum class TestFinalEnum1 : Enum { private constructor() /* primary */ { TODO("IrEnumConstructorCall") /* InstanceInitializerCall */ } X1 init = TODO("IrEnumConstructorCall") fun values(): Array /* Synthetic body for ENUM_VALUES */ fun valueOf(value: String): TestFinalEnum1 /* Synthetic body for ENUM_VALUEOF */ } enum class TestFinalEnum2 : Enum { private constructor(x: Int) /* primary */ { TODO("IrEnumConstructorCall") /* InstanceInitializerCall */ } val x: Int field = x get X1 init = TODO("IrEnumConstructorCall") fun values(): Array /* Synthetic body for ENUM_VALUES */ fun valueOf(value: String): TestFinalEnum2 /* Synthetic body for ENUM_VALUEOF */ } enum class TestFinalEnum3 : Enum { private constructor() /* primary */ { TODO("IrEnumConstructorCall") /* InstanceInitializerCall */ } X1 init = TODO("IrEnumConstructorCall") fun doStuff() { } fun values(): Array /* Synthetic body for ENUM_VALUES */ fun valueOf(value: String): TestFinalEnum3 /* Synthetic body for ENUM_VALUEOF */ } open enum class TestOpenEnum1 : Enum { private constructor() /* primary */ { TODO("IrEnumConstructorCall") /* InstanceInitializerCall */ } X1 init = TODO("IrEnumConstructorCall") fun values(): Array /* Synthetic body for ENUM_VALUES */ fun valueOf(value: String): TestOpenEnum1 /* Synthetic body for ENUM_VALUEOF */ } open enum class TestOpenEnum2 : Enum { private constructor() /* primary */ { TODO("IrEnumConstructorCall") /* InstanceInitializerCall */ } X1 init = TODO("IrEnumConstructorCall") open fun foo() { } fun values(): Array /* Synthetic body for ENUM_VALUES */ fun valueOf(value: String): TestOpenEnum2 /* Synthetic body for ENUM_VALUEOF */ } abstract enum class TestAbstractEnum1 : Enum { private constructor() /* primary */ { TODO("IrEnumConstructorCall") /* InstanceInitializerCall */ } X1 init = TODO("IrEnumConstructorCall") abstract fun foo() fun values(): Array /* Synthetic body for ENUM_VALUES */ fun valueOf(value: String): TestAbstractEnum1 /* Synthetic body for ENUM_VALUEOF */ } interface IFoo { abstract fun foo() } abstract enum class TestAbstractEnum2 : Enum, IFoo { private constructor() /* primary */ { TODO("IrEnumConstructorCall") /* InstanceInitializerCall */ } X1 init = TODO("IrEnumConstructorCall") fun values(): Array /* Synthetic body for ENUM_VALUES */ fun valueOf(value: String): TestAbstractEnum2 /* Synthetic body for ENUM_VALUEOF */ }