Kotlinpoet如何添加内部对象类定义?

问题描述 投票:0回答:1

我试图在类中生成一个对象定义。这是一个蒸馏版本:

class SomeClass {

   // need to figure out how to generate this
   companion object {

      // and this
      object Constants {
         val SOME_CONSTANT = "CONSTANT VALUE"
      }
   }
}
kotlin code-generation kotlinpoet
1个回答
1
投票

您可以使用object创建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()
© www.soinside.com 2019 - 2024. All rights reserved.