enum class TestEnum1 : Enum { TEST1 = TestEnum1() TEST2 = TestEnum1() private constructor() /* primary */ { super/*Enum*/() /* () */ } fun valueOf(value: String): TestEnum1 /* Synthetic body for ENUM_VALUEOF */ fun values(): Array /* Synthetic body for ENUM_VALUES */ val entries: EnumEntries get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */ } enum class TestEnum2 : Enum { val x: Int field = x get TEST1 = TestEnum2(x = 1) TEST2 = TestEnum2(x = 2) TEST3 = TestEnum2(x = 3) private constructor(x: Int) /* primary */ { super/*Enum*/() /* () */ } fun valueOf(value: String): TestEnum2 /* Synthetic body for ENUM_VALUEOF */ fun values(): Array /* Synthetic body for ENUM_VALUES */ val entries: EnumEntries get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */ } abstract enum class TestEnum3 : Enum { TEST = TEST() private enum entry class TEST : TestEnum3 { private constructor() /* primary */ { super/*TestEnum3*/() /*~> Unit */ /* () */ } override fun foo() { println(message = "Hello, world!") } } private constructor() /* primary */ { super/*Enum*/() /* () */ } fun valueOf(value: String): TestEnum3 /* Synthetic body for ENUM_VALUEOF */ fun values(): Array /* Synthetic body for ENUM_VALUES */ abstract fun foo() val entries: EnumEntries get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */ } abstract enum class TestEnum4 : Enum { val x: Int field = x get TEST1 = TEST1() private enum entry class TEST1 : TestEnum4 { private constructor() /* primary */ { super/*TestEnum4*/(x = 1) /*~> Unit */ /* () */ } override fun foo() { println(message = TestEnum4.TEST1) } } TEST2 = TEST2() private enum entry class TEST2 : TestEnum4 { val z: Int get init { .#z = .() } private constructor() /* primary */ { super/*TestEnum4*/(x = 2) /*~> Unit */ /* () */ } override fun foo() { println(message = TestEnum4.TEST2) } } private constructor(x: Int) /* primary */ { super/*Enum*/() /* () */ } fun valueOf(value: String): TestEnum4 /* Synthetic body for ENUM_VALUEOF */ fun values(): Array /* Synthetic body for ENUM_VALUES */ abstract fun foo() val entries: EnumEntries get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */ } enum class TestEnum5 : Enum { val x: Int field = x get TEST1 = TestEnum5() TEST2 = TestEnum5() TEST3 = TestEnum5(x = 0) private constructor(x: Int = 0) /* primary */ { super/*Enum*/() /* () */ } fun valueOf(value: String): TestEnum5 /* Synthetic body for ENUM_VALUEOF */ fun values(): Array /* Synthetic body for ENUM_VALUES */ val entries: EnumEntries get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */ } enum class TestEnum6 : Enum { val x: Int field = x get val y: Int field = y get TEST = { // BLOCK val tmp_0: Int = f() val tmp_1: Int = f() TestEnum6(x = tmp_1, y = tmp_0) } private constructor(x: Int, y: Int) /* primary */ { super/*Enum*/() /* () */ } fun valueOf(value: String): TestEnum6 /* Synthetic body for ENUM_VALUEOF */ fun values(): Array /* Synthetic body for ENUM_VALUES */ val entries: EnumEntries get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */ } fun f(): Int { return 1 }