Intereting Posts
Android TranslateAnimation на кнопках мерцает Определите, включено ли системное резервное копирование программным путем Android Studio: обнаружен незарегистрированный корень VCS Отладка Android NDK в Eclipse – как остановить segfaults / SIGILL, которые возникают только при входе в собственный код Можно ли добавить какой-либо элемент в контекстные меню андроида (системное меню) Как Android делает скриншоты? Создать индексированный столбец в sqlite Платформа Android: ширина половины родительского Html5 видео на Android 4: играть в полноэкранном режиме, а затем перенаправлять на другую веб-страницу – не работает Ошибка: выполнение выполнено для задачи ': app: processDebugResources'. > По индексу 4 Android Studio 2.1 мгновенный запуск java.lang.OutOfMemoryError: превышен верхний предел GC Не удается создать меню «Поделиться» во всплывающем меню на Android Получение байтов / поток изображения или ImageSource в Xamarin.Forms? В чем разница между `DialogInterface.dismiss ()` и `DialogInterface.cancel ()`? Как я могу заставить logcat на своем устройстве показывать журналы из всех процессов

Как Lombok генерирует код для существующего класса?

Я могу генерировать классы с нуля с помощью обработчика аннотаций, но я не мог модифицировать класс, подобный lombok. Я искал сгенерированные классы lombok в студии Android, но я ничего не нашел. Затем я проверил обзор ломбока через их веб-сайт, а также исследовал его на форумах, но я ничего не понял. Мой вопрос настолько прост. Как lombok объединяет сгенерированный код с минами, когда я использую @Setter, например. Как я могу разработать процессор, такой как?

Solutions Collecting From Web of "Как Lombok генерирует код для существующего класса?"

Кажется, дубликат Как работает ломбок? , И я бы сказал, чтобы я был близок, но твоя щедрость предотвратила это.

Короче говоря, Lombok вообще не генерирует код. Вместо этого он использует неопределенные и недокументированные внутренние вызовы api-реализации компилятора для прямого изменения абстрактного дерева синтаксиса программы между чтением исходного кода и выводом скомпилированного байт-кода. Он может сломаться без предупреждения или уведомления об обновлении до новой версии компилятора, но в настоящее время нет другого способа.

Ломбок генерирует код на этапе компиляции. Вот учебник для этого http://hannesdorfmann.com/annotation-processing/annotationprocessing101 .

Если вы не знакомы с объявлением собственных аннотаций, я настоятельно рекомендую начать работу с аннотациями времени выполнения. Их легче понять и отладить, а ваш код «действует» на этапе выполнения, с которым вы уже знакомы. Краткий учебник для этого: http://docs.oracle.com/javase/1.5.0/docs/guide/language/annotations.html