Я хотел бы преобразовать java исходный код во время компиляции перед передачей исходного кода в компилятор. Другими словами, я хотел бы создать препроцессор способен превратитьПреобразование кода Java во время компиляции
"bla bla bla"
в любой другой код, такой как:
new MyClass("bla", 3)
Моя текущая мотивация сделать шифрование строки, так как explained here
Некоторые люди предлагают писать пользовательские обработчики аннотаций, но насколько я понимаю аннотации:
- они могут использоваться для генерации нового файла класса, но не для преобразования существующего кода перед передачей его компилятору
- они, похоже, работают на уровне пакета, класса или метода, но не являются темой/реализацией метода.
Некоторые люди предлагают использовать фреймворки, такие как Spoon или ObjectsWeb ASM, но эти структуры кажутся сложными для изучения и развертывания на существующей базе кода.
Я стараюсь найти простой пример предварительной обработки Java-кода для обоих подходов.
Кто-нибудь видит какой-либо умный способ преобразования кода без полного изменения существующей большой базы кода с несколькими модулями плюща? Аннотации кажутся лучшими, но я не понимаю, как это сделать.
[Jet] (http://www.eclipse.org/articles/Article-JET/jet_tutorial1.html) может быть полезным (я не знаю, в каком состоянии он находится, но работал хорошо некоторые много лет назад). JavaCC придерживается того же подхода. – home
Вы можете написать собственный плагин Ant/Mavin, который сначала выполнит шифрование, а затем скомпилирует ваш код. – Pushkar
У меня такой же вопрос. Можете ли вы поделиться тем, что у вас получилось? – rahulmohan