Kotlinpoet如何添加内部对象类定义?
我试图在类内部生成一个对象定义。这是一个经过提炼的版本:Kotlinpoet如何添加内部对象类定义?,kotlin,code-generation,kotlinpoet,Kotlin,Code Generation,Kotlinpoet,我试图在类内部生成一个对象定义。这是一个经过提炼的版本: class SomeClass { // need to figure out how to generate this companion object { // and this object Constants { val SOME_CONSTANT = "CONSTANT VALUE" } } } 您可以使用TypeSpec.objecBuilder创建
class SomeClass {
// need to figure out how to generate this
companion object {
// and this
object Constants {
val SOME_CONSTANT = "CONSTANT VALUE"
}
}
}
您可以使用TypeSpec.objecBuilder创建对象,然后将其嵌套在具有addType的类中,例如:
val constants = TypeSpec.objectBuilder("Constants")
.addProperty(PropertySpec.builder("SOME_CONSTANT", String::class)
.mutable(false)
.initializer("CONSTANT VALUE")
.build())
.build()
val someClass = TypeSpec.classBuilder("SomeClass")
.addType(constants)
.build()
将object更改为companion object我假设它应该是静态的,因此在companion object{}内,但是,我仍然希望在companion object内生成object Constants块。这允许我的常量使用名称空间。将更新代码块以反映这一点。谢谢,这正是我想要的。希望kotlinpoet自述中能更好地记录这些细微差别。很可能会用这个例子做一个PR看起来它实际上已经在自述文件中了,只是没有一个输出例子。我的错是,应该读得更透彻一些。单元测试也是一个很好的地方,在那里我发现了一些类似的东西。