我打算对大项目做复杂的重构,默认的ide能力是不够的。如果可能,还请提供教程链接。
语言:java、xml
我讲的是用于 java 重构的程序化 api
示例我在项目中创建了新的 api,我想自动折射一些代码来使用它,即 ast 树的源到源转换
我打算对大项目做复杂的重构,默认的ide能力是不够的。如果可能,还请提供教程链接。
语言:java、xml
我讲的是用于 java 重构的程序化 api
示例我在项目中创建了新的 api,我想自动折射一些代码来使用它,即 ast 树的源到源转换
总是有Eclipse;您应该能够通过其内部过程 API 访问其 Java 重构机制。我不知道这些是否容易找到或有据可查。没有源到源的转换。
有一个名为Jackpot的工具据说是为了支持这项任务而设计的。我相信它也只提供程序 API,但我认为它们是故意有据可查的。没有源到源的转换能力。
我们的DMS Software Reengineering Toolkit及其Java 前端可用于此目的。
DMS 被设计为适用于多种语言的通用程序转换引擎(Java 只是它碰巧知道的一种)。它可以进行任意代码更改。DMS 提供对 AST 的解析、符号表构建、AST 操作接口,包括 OP 对模式导向源到源转换的请求,以及从任何修改后的 AST 重新生成源文本(包括未更改的原始注释)。DMS 很乐意读取构成您的应用程序的所有文件,因此您可以轻松地实现跨源文件边界的更改。
人们可能会建议使用一些解析器生成器。虽然解析是必要的,但这还不够;解析器无法完成您需要的所有其他事情(以上)。