Kotlinpoet Как добавить определение класса внутреннего объекта? - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь создать определение объекта внутри класса. Это дистиллированная версия:

class SomeClass {

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

      // and this
      object Constants {
         val SOME_CONSTANT = "CONSTANT VALUE"
      }
   }
}

1 Ответ

0 голосов
/ 06 сентября 2018

Вы можете создать 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()
...