我想为大学类(class)编写一个静态分析器。为了为该工具提供更多功能,我希望能够查找调用层次结构(如 Ctrl+Alt+H 在 Eclipse 中所做的那样)。这也必须是一个快速操作,因此查找可能必须针对索引而不是字节码扫描来完成。
但是,我认为编写一个 Eclipse 插件过于雄心勃勃。相反,我宁愿解耦创建代码索引的 Eclipse 部分,并使用库进行查找。用户界面将在命令行上,以简化实现。
我读到 Eclipse 使用 Lucene 来进行索引[1],但是,对于 Eclipse 允许的功能,在 Lucene 之上必须有大量的工作。
问题是,是否可以解耦 Eclipse 的索引功能以供重用?如果没有,是否有其他现成可用的库可以执行我所讨论的那种处理?
[1] Lucene 实战 (IIRC)
编辑
我认为有些误解。我不想检查类层次结构,我想检查调用 层次结构。这就是为什么要讨论搜索和索引(某种形式,尽管这可能不是正确的术语)。检查类层次结构可能比检查调用层次结构要便宜得多。
至于编写 Eclipse 插件,是的,我很乐意,但鉴于这项任务的时间非常短,我不太可能完成它。但这是有用的信息,你们中的一些人认为这并不像我想象的那么难。
也许我过于强调 Eclipse,我突然想到我真的在寻找任何提供 API 以通过字节码检查调用图的工具。
感谢您到目前为止的回答!
最佳答案
走字节码一点也不难,也不慢。我们以交互速度对大型 Java 代码项目进行了静态分析。因为,你的时间很短,我建议你在 eclipse 中修改类似调用图查看器插件 [1] 的东西。此外,Eclipse 代码很难理解,您最好编写自己的插件,尽可能多地使用 Eclipse 未记录的 API。
[1] http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-1326.html
关于java - 是否可以解耦 Eclipse 的代码索引功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1681218/