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