alexhelder
03/20/2025, 2:00 AMclass Foo(
val bar:Bar
) {
fun frob(x:Int, y:Int, z:Int) by bar
}
… assuming Bar
has a method of the exact signature. I am aware of class based delegation but I don’t want Foo
to implement Bar
, or even by bar::frob
CLOVIS
03/20/2025, 8:32 AMfun frob(x: Int, y: Int, z: Int) = bar.frob(x, y, z)
alexhelder
03/20/2025, 9:41 PMCLOVIS
03/21/2025, 8:20 AMHuib Donkers
03/21/2025, 8:23 AMclass Bar {
fun frob(x: Int, y: Int, z: Int) = x + y + z
}
class Foo(
val bar: Bar
) {
val frob = bar::frob
}
fun main() {
val bar = Bar()
val foo = Foo(bar)
val ans = foo.frob(1, 2, 4)
println(ans)
}
Won't work when you need to override an interface with method frob