Intereting Posts
Не удается запустить приложение через Android Studio (logcat ) Как получить ширину и высоту экрана в контрольной точке Motorola, Android Appium не может получить данные атрибута «контент-desc» Как создать файл – включая папки – для заданного пути? Свободная память из AnimationDrawable Кнопка просмотра изображения в андроид-активности Как удалить всплывающее окно автоматической фокусировки / клавиатуры при появлении экрана? Как остановить активность в android, используя намерение? Приложение, использующее плагин Parse Unity, сбой на устройстве Android, но отлично работает в редакторе Как читать данные с USB-накопителя? Как получить перечисление, которое создается в attrs.xml в коде Как обращаться с несколькими входами и сессиями социальных сетей Поток на Android? Код списка Android для включения быстрого прокрутки в исходном коде платформы Android Применить тему к диалогу DialogPreference Android PNG для Bitmap – SkImageDecoder :: Factory возвращен null

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

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

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

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

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

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