Intereting Posts
Robotium. В наборе тестов каждый следующий тест зависит от предыдущего теста Ошибка получения родительского элемента для элемента: ресурс не найден, который соответствует указанному имени @ style / Theme.Holo Который apk работает на Android-устройстве ионного Не удалось обновить проект «Колебание». Android Studio Используйте слот для SIM-карты в качестве устройства для чтения смарт-карт в телефонах Android Вычислить PPI устройства Android Огромная разница Apk между градиентом v1.x vs v2.x Какая библиотека изображений для Android для загрузки фотографий в Интернете Почему Facebook SDK для Android очень велик? Обновить выбранное состояние навигационного ящика после обратного нажатия Android получить только изображение из галереи Поставщик плавного местоположения не получает местоположение, если GPS не включен Android Как перемещать карту под маркером OpenGL ES – glReadPixels Android ViewFlipper + Детектор жестов

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