基于AST的Eclipse搜索

时间:2010-02-04 20:26:05

标签: java eclipse search eclipse-plugin abstract-syntax-tree

是否有Eclipse的插件允许您根据项目文件的Java AST(抽象语法树)进行搜索? “Java搜索”功能似乎不包括以下情况:

“让我在所有类中声明为'X'类型的所有字段”

我可以想象使用基于AST的搜索会有更多可能性,但我甚至不知道这样的插件是否具有实际性能。

更新:正如下面Kevin所指出的,Java搜索功能确实涵盖了我提到的用例。我仍然很好奇是否有人编写了一个允许任意类型的AST搜索的插件,例如。 “获取所有字符串连接”(带有+运算符和StringLiteral操作数的InfixExpression)

3 个答案:

答案 0 :(得分:2)

有几个Eclipse插件提供面向对象的查询语言,旨在回答这些查询。其中一些:

在Eclipse之外,有JArchitect代码查询语言

答案 1 :(得分:1)

  

获取所有声明为类型的字段   所有班级中的'X'

我不知道你还有什么想法,但我相信你可以通过以下方式完成这个特定的搜索:

  • 打开X型(Ctrl-Shift-T)
  • 突出显示班级名称
  • Ctrl-H搜索
  • 搜索类型/匹配位置 - >字段类型

答案 2 :(得分:1)

这并不是你想要的,但是nWire for Java可以为你提供大量来自AST的信息。它还具有搜索任何类型,方法,字段等的全文搜索。一旦找到您要查找的内容,单击将显示该组件的所有关联。

查看演示here