abstract enum class A : Enum, Java1 {
private constructor() /* primary */ {
super/*Enum*/()
/* () */
}
fun valueOf(value: String): A /* Synthetic body for ENUM_VALUEOF */
fun values(): Array /* Synthetic body for ENUM_VALUES */
val entries: EnumEntries
get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */
}
open enum class B : Enum, Java1 {
FIRST = FIRST()
private enum entry class FIRST : B {
private constructor() /* primary */ {
super/*B*/() /*~> Unit */
/* () */
}
override fun foo(i: Int) {
}
}
SECOND = B()
private constructor() /* primary */ {
super/*Enum*/()
/* () */
}
fun valueOf(value: String): B /* Synthetic body for ENUM_VALUEOF */
fun values(): Array /* Synthetic body for ENUM_VALUES */
override fun foo(i: Int) {
}
val entries: EnumEntries
get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */
}
enum class C : Enum, Java2 {
private constructor() /* primary */ {
super/*Enum*/()
/* () */
}
fun valueOf(value: String): C /* Synthetic body for ENUM_VALUEOF */
fun values(): Array /* Synthetic body for ENUM_VALUES */
val entries: EnumEntries
get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */
}
open enum class D : Enum, Java2 {
FIRST = FIRST()
private enum entry class FIRST : D {
private constructor() /* primary */ {
super/*D*/() /*~> Unit */
/* () */
}
override fun foo(i: Int) {
}
}
private constructor() /* primary */ {
super/*Enum*/()
/* () */
}
fun valueOf(value: String): D /* Synthetic body for ENUM_VALUEOF */
fun values(): Array /* Synthetic body for ENUM_VALUES */
override fun foo(i: Int) {
}
val entries: EnumEntries
get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */
}
abstract enum class E : Enum, Java1, Java3 {
private constructor() /* primary */ {
super/*Enum*/()
/* () */
}
fun valueOf(value: String): E /* 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 F : Enum, Java1, Java3 {
FIRST = FIRST()
private enum entry class FIRST : F {
private constructor() /* primary */ {
super/*F*/() /*~> Unit */
/* () */
}
override fun foo(i: Int?) {
}
}
private constructor() /* primary */ {
super/*Enum*/()
/* () */
}
fun valueOf(value: String): F /* Synthetic body for ENUM_VALUEOF */
fun values(): Array /* Synthetic body for ENUM_VALUES */
override fun foo(i: Any) {
}
val entries: EnumEntries
get(): EnumEntries /* Synthetic body for ENUM_ENTRIES */
}
interface KotlinInterface {
fun foo(i: Int) {
}
}
fun test() {
B.FIRST.foo(i = 1)
B.SECOND.foo(i = 1)
B.FIRST.() /*~> Unit */
D.FIRST.foo(i = 1)
D.FIRST.() /*~> Unit */
F.FIRST.foo(i = 1)
F.FIRST.foo(i = "")
F.FIRST.foo(i = null)
F.FIRST.() /*~> Unit */
}