Intereting Posts
Ошибка Parse: Parse # enableLocalDatastore (Context) `необходимо вызвать перед` Parse # initialize (Context) ` Стрелка вверх не отображается после вызова ActionBarDrawerToggle.setDrawerIndicatorEnabled (false) Подключено мобильное устройство (Android) в качестве MTP, теперь мы можем получить доступ к этому устройству и получить время Карты Google, нет возможности запуска навигации, только предварительный просмотр Как получить ключ obj от FirebaseListAdapter при щелчке элемента. FirebaseUI Ядро iOS / Android приложение для Windows Phone Редактировать текст, отображающий красный текст под текстом Является ли законным вызывать метод запуска дважды в одной теме? Может ли Android-устройство действовать как iBeacon? Com.google.firebase.database.DatabaseException: вызовы setPersistenceEnabled () должны быть выполнены перед любым другим использованием экземпляра FirebaseDatabase Идеальный файл gitignore для Android Studio Кордова и настройка Android с помощью командной строки Ошибка: невозможно найти adb в SDK в Android Studio Два Android-приложения с одинаковым идентификатором пользователя Я должен дважды нажать кнопку, чтобы она работала

Как 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