基于AST的Eclipse搜索

6
有没有Eclipse插件可以基于项目文件的Java AST(抽象语法树)进行搜索? “Java搜索”功能似乎不包括以下情况:“获取所有已声明类型为“ X”的字段”。我可以想象许多更多可能性将在基于AST的搜索中开放,但我甚至不知道这样的插件是否具有实际的性能。更新:如下所示,正如Kevin所指出的那样,“Java搜索”功能确实涵盖了我提到的用例。 但是,我仍然想知道是否有人编写了一个允许任意种类的AST搜索的插件,例如“获取所有字符串连接”(使用+运算符和StringLiteral操作数的InfixExpression)。
3个回答

2

1
获取所有类中声明为类型“X”的字段。
我不知道你还有什么想法,但我相信你可以通过以下方式完成这个特定的搜索:
  • 打开类型 X(Ctrl-Shift-T)
  • 高亮显示类名
  • 按Ctrl-H进行搜索
  • 搜索类型/匹配位置 ->字段类型

这似乎只返回类型本身的声明。 - dcstraw
抱歉,我已经编辑了该条目,使用了匹配位置过滤器而不是声明。 - Kevin
啊,太好了,谢谢。我以前从未尝试过“匹配位置”选项。至少这样可以涵盖我提到的用例。 - dcstraw
将此标记为答案,因为它涵盖了大多数情况,否则我可能会想要基于AST的搜索。 - dcstraw

1

这可能不完全符合你的要求,但是nWire for Java可以提供从AST中派生出的大量信息。它还具有全文搜索功能,可以搜索任何类型、方法、字段等。一旦找到你想要的内容,点击即可显示该组件的所有关联。

在这里查看演示链接


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接