java - Eclipse中两种AST的结构比较

标签 java comparison eclipse-plugin

我正在为 Eclipse 中的 Java 代码开发增量构建器。 Eclipse 提供了一个 ResourceDelta,它告诉我自上次构建以来哪些资源发生了变化。但是,我想获得更详细的信息,例如哪些方法或哪些字段定义发生了变化。在“比较 -> 彼此” View 中似乎有类似于我想要的功能。然而,这段代码与构建引擎完全脱节,似乎与 ResourceDeltas 不兼容。弄清楚我想要什么的好方法是什么?我能看到的最佳解决方案是比较两个 AST,但我也找不到对此的任何内置支持。

最佳答案

JavaCore 确实通过 IElementChangedListenerIJavaElementDelta 接口(interface)提供此信息。这是一个快速入门的代码示例:

JavaCore.addElementChangedListener(new MyJavaElementChangeReporter(), ElementChangedEvent.POST_RECONCILE);

更多详细信息,请参阅 Manipulating Java code来自 JDT 插件开发人员指南。

关于java - Eclipse中两种AST的结构比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1243397/

相关文章:

java - 如何使用 Apache 客户端接受过期的 ssl 证书?

java - 从方法返回泛型

c# - 优化多重比较条件

java - 无法从窗口生成器中的调色板拖动项目

java - for each 里面一个 for each - Java

java - 为什么我的 Tomcat 6 执行器线程池没有被连接器使用?

linux - bash中的整数比较错误

algorithm - sortedArrayUsingComparator 是随机化 NSArray 的安全方法吗?

eclipse - Eclipse 4.12-java.lang.ClassNotFoundException:com.sun.xml.internal.bind.v2.ContextFactory

java - 有没有办法打开展开的 JFace ElementTreeSelectionDialog?