使用 KotlinPoet 为 Kotlin 创建静态扩展 属性

Creating a static extension property for Kotlin with KotlinPoet

我是 KotlinPoet 的新手。

我想使用 KotlinPoet 以编程方式生成以下代码:

public val MyClass.Companion.classID: Long
  get() = 0x100

不幸的是,经过多次尝试,我还没有找到一种方法来创建 class 的伴随对象。

也许有人知道一个可能的解决方案,或者这不能用 KotlinPoet 实现吗?

Companion 只是一个嵌套的 class,因此您可以使用 ClassName.nestedClass():

创建一个代表同伴的 ClassName
val myClass = ClassName(packageName = "", "MyClass")
val companion = myClass.nestedClass("Companion")
println(companion) // MyClass.Companion