如何使用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()
你的问题到底是什么?如何重写一个方法?有一些关于这种方法的例子在起作用,这些有帮助吗?