jdt 作为eclipse的java 开发工具,提供了解析java源文件,编译为中间代码的AST(Abstract Syntax Tree)的结构,可以在更高层次上修改代码
jdt 作为eclipse的java 开发工具,提供了解析java源文件,编译为中间代码的AST(Abstract Syntax Tree)的结构,可以在更高层次上修改代码
比如eclipse中的refactor就可以高度智能话的修改代码。我们也可以使用AST动态生成代码或修改代码。主要过程入下:
1. 得到java源文件或是他对应的compilationUint(CU),然后由AST.setSource()设定,再由AST.create()创建一个AST树,返回根节点,ASTNode.
2. 使用ASTRewrite 修改源文件,将结果保存在TextEditor对象中
3.使用apply()方法实现这些修改。
以上这种方法是描述型的修改,特点是他并不直接在AST树上修改,而是使用ASTRewriter的API接口,记录下修改的部位,最后在apply()一下。
还有一种就是直接修改了。。