Files
kotlin-fork/compiler/testData/codegen/box/objects/useAnonymousObjectFunction.kt
T
vladislav.grechko 54858c2118 [FIR] Fix naming of local classes when serializing metadata
^KT-63655: Fixed
^KT-63901: Fixed
^KT-63988: Fixed
2024-02-07 12:30:50 +00:00

46 lines
881 B
Kotlin
Vendored

// KT-44050
enum class Enum {
Entry1() {
fun bogus() = 42
},
Entry2() {
fun bogus() = 42
}
}
class Outer {
fun barCaller(): Enum = obj1.bar()
fun bazCaller(): Enum = obj2.baz()
private abstract inner class Inner<T>(val default: T) {
abstract fun foo()
}
private val obj1 = object : Inner<Enum>(Enum.Entry1) {
override fun foo() {
TODO("not related")
}
fun bar(): Enum {
return default
}
}
private val obj2 = object : Inner<Enum>(Enum.Entry2) {
override fun foo() {
TODO("not related")
}
fun baz(): Enum {
return default
}
}
}
fun box(): String {
val o = Outer()
if (o.barCaller() != Enum.Entry1) return "Fail1"
if (o.bazCaller() != Enum.Entry2) return "Fail2"
return "OK"
}