Kotlin shorthand 用于实现带注解的功能接口

Kotlin shorthand for implementing a functional interface with annotations

在 Kotlin 中,有没有一种方法可以定义带注释的 class 实现比以下短的功能接口:

@Foo
class Bar : Runnable {
    override fun run() = ...
}

我希望找到类似于以下虚构语法的内容:

@Foo
fun Bar : Runnable () = ...

由于互操作性原因,我必须以 class 注释为 @Foo 实现 Runnable 或 class 注释为 @Foo 的实例结束] 实施 Runnable.

我想最短的语法是这样的:

@Foo object: Runnable {
    override fun run() {}
}

如果您 annotate lambdas,注释将应用于 invoke 函数而不是已实现的 class。