Как инициализировать переменную и в конце вызвать "apply {}" - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь автоматически сгенерировать классы, если бы мы создавали такие переменные с помощью KotlinPoet:

class test {
   var testObj: CustomObject = CustomObject().apply { custom = "custom" }
}

До сих пор я пробовал смотреть на PropertySpe c в KotlinPoet, но не могу найти какие-либо функции для генерации переменных при вызове apply() в конце.

Возможно ли это вообще?

1 Ответ

0 голосов
/ 03 августа 2020

PropertySpec.Builder имеет метод initializer(), который вы должны использовать в этом сценарии, однако нет специального API для создания инициализаторов, включающих блок apply. См. Документацию CodeBlock для получения дополнительной информации о том, как сгенерировать код для вашего инициализатора, плюс есть много примеров генерации подобных конструкций в модульных тестах KotlinPoet , которые вы можете использовать для вдохновения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...