blob: 7bd1880718ff8b15456dabe8278e90d5b7e6d5ec [file]
interface A {
fun foo(): String
}
class AImpl(val z: String) : A {
override fun foo(): String = z
}
open class AFabric {
open fun createA(): A = AImpl("OK")
}
class AWrapperFabric : AFabric() {
override fun createA(): A {
return AImpl("fail")
}
fun createMyA(): A {
return object : A by super.createA() {
}
}
}
fun box(): String {
return AWrapperFabric().createMyA().foo()
}