Kotlinpoet Как добавить определение класса внутреннего объекта?
Я пытаюсь сгенерировать определение объекта внутри класса. Это дистиллированная версия:
class SomeClass {
// need to figure out how to generate this
companion object {
// and this
object Constants {
val SOME_CONSTANT = "CONSTANT VALUE"
}
}
}
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()