如何使用FunSpec.overriding?在KotlinPoet

如何使用FunSpec.overriding?在KotlinPoet,kotlin,kotlinpoet,Kotlin,Kotlinpoet,于提交 FunSpec类具有非常方便的重写方法,但是,不清楚如何在生成代码时使用该方法 最简单的例子: FileSpec.builder("com.fleshgrinder", "KotlinPoet").apply { val className = ClassName("com.fleshgrinder", "KotlinPoet") addType(TypeSpec.classBuilder(className).apply { addFunction(Fu

于提交

FunSpec
类具有非常方便的重写方法,但是,不清楚如何在生成代码时使用该方法

最简单的例子:

FileSpec.builder("com.fleshgrinder", "KotlinPoet").apply {
    val className = ClassName("com.fleshgrinder", "KotlinPoet")
    addType(TypeSpec.classBuilder(className).apply {
        addFunction(FunSpec.builder("toString").apply {
            addModifiers(KModifier.OVERRIDE)
            addStatement("""return "KotlinPoet"""")
        }.build())
    }.build())
}.build().writeTo(System.out)
由此产生:

class KotlinPoet {
    override fun toString() = "KotlinPoet"
}
它生成的输出是完美的,但生成它的代码却不是

FunSpec.overriding(Any::toString).apply {
    addStatement("""return "KotlinPoet"""")
}.build()

你的问题到底是什么?如何重写一个方法?有一些关于这种方法的例子在起作用,这些有帮助吗?