在Eclipse中创建新的重构功能 - 编程入门网
alse;
}
});
}
在收集到了所有的MethodDeclaration节点之后,我们就可以通过向AST树中 插入和删除节点或者修改已有的节点的方法来修改AST树了。下面的代码演示了 使用AST工具为方法添加@Test Annotation的功能。 清单 11
在 Refactoring框架中,我们要求对AST树的修改并不立刻反映到源代码中。 相反,我们需要一个能记录整个修改过程的Change对象。Refactoring框架将利 用这个Change对象来显示Priveiw窗口、进行Undo和Redo等操作。大致上,我们 记录对一个AST树的修改从而生成Change对象的过程如以下代码所示。 清单 12
在Eclipse中创建新的重构功能(7)时间:2010-12-02 IBM 志甘 春郭迎 林刘岳最后,由于Refactoring类的createChange方法仅返回一个Change对象,如果 我们需要对多个源代码文件进行修改,我们可以利用 CompositeChange类将多个 Change对象封装成一个Change对象。这个过程可能类似如下代码所执行的流程 清单 13
7 扩展RefactoringWizard 框架 Eclipse中的RefactoringWizard框架扩展了Eclipse的Wizard框架,关于 Wizard框架的介绍可以在Eclipse的帮助系统中找到,这里我们仅从OO设计和架 构的角度探讨一下RefactoringWizard框架。 我们从Wizard相关的几个类开始: 1. WizardPage类 WizardPage是一个包含了多个界面元素(比如文本框Text,按钮Button)的 一个界面组合部分。各个Page之间是独立的,是可以动态加载的。WizardPage类 的职责有: 组合SWT界面元素,构造出一个界面页。 定义本身界面元素的操作行为。 在 RefactoringWizard框架中预设了两个通用的属性页:PreviewWizardPage 和ErrorWizardPage。PreviewWizardPage类是用来预览重构后的修改,对比代码 或其他资源的变化。ErrorWizardPage类是用来处理条件检查及错误状态通知的 。我们只需扩展RefactoringWizard框架就可以自 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |