编译时的 Java 代码转换
我想在编译时转换java源代码,然后再将源代码传递给编译器。换句话说,我想创建一个能够转换的预处理器。
"bla bla bla"
到任何其他代码中,例如:
new MyClass("bla", 3)
我的实际动机是进行字符串加密,如此处所述
有些人建议编写自定义注释处理器,但据我所知,注释:
- 它们可用于生成新的类文件,但不能在传递给编译器之前转换现有代码
- 它们似乎在包,类或方法级别工作,但不在方法体/实现中起作用。
有些人建议使用Spoon或ObjectsWeb ASM等框架,但这些框架在现有代码库上学习和部署似乎很复杂。
我很乐意为这两种方法找到一个简单的java代码预处理示例。
有没有人看到任何智能的代码转换方法,而无需完全改变具有多个ivy模块的现有大型代码库?注释似乎是最好的方法,但我不明白如何做到这一点。