Я хотел бы преобразовать исходный код java во время компиляции непосредственно перед передачей исходного кода в компилятор. Другими словами, я хотел бы создать препроцессор , способный преобразовать
"bla bla bla"
в любой другой код, например:
new MyClass("bla", 3)
Моя фактическая мотивация - это строковое шифрование, как описано
Некоторые люди предлагают писать пользовательские обработчики аннотаций, но насколько я понимаю аннотации:
- они могут использоваться для генерации нового файла класса, но не для преобразования существующего кода перед передачей компилятору
- они, похоже, работают на уровне пакетов, классов или методов, но не в форме/реализации метода.
Некоторые люди предлагают использовать фреймворки, такие как Spoon или ObjectWeb ASM, но эти структуры кажутся сложными для изучения и развертывания на существующей базе кода.
Я стараюсь найти простой пример предварительной обработки Java-кода для обоих подходов.
Кто-нибудь видит какой-либо умный способ преобразования кода без полного изменения существующей большой базы кода с несколькими модулями плюща? Аннотации кажутся наилучшими, но я не понимаю, как это сделать.