是的,这是可能的,但是仅从Java 6开始。Peter von
derAhé在这次采访中谈到了两个JSR
。JSR 199:
JSR
199编译器API包括三件事:第一个基本上允许您通过API调用编译器。其次,API允许您自定义编译器查找和写入文件的方式。我的意思是抽象的文件,因为编译器处理的文件不一定在文件系统上。例如,JSR
199的文件抽象允许您将文件包含在数据库中,并直接将输出生成到内存。最后,JSR 199
API使您能够以结构化的方式从编译器收集诊断信息,以便您可以轻松地将错误消息转换为例如IDE的编辑器中的行。
JSR 269是注释处理API。
本文对访问Compiler Tree
API进行了很好的概述。“
访问抽象语法树:编译器树API ”这一节似乎特别适合您的问题。
根据您的工作,您可能还需要查看Jackpot Rule Language,它是一个独立的重构引擎,可以插入到Compiler Tree中。



