创建最终调用指定方法的Java方法列表

时间:2019-06-05 21:43:01

标签: java static-code-analysis

我的任务是在大型Java应用程序中找到所有方法,这些方法最终会调用需要重构的特定方法。

澄清一下,如果目标方法是“ fixme”,并且“ fixme”是由“ a”,“ b”和“ c”调用的,而“ a”是由“ d”和“ e”调用的; “ b”由“ d”,“ f”,“ g”,“ h”,“ i”称呼; “ c”由“ j”和“ k”调用。然后,“ d”由...调用,依此类推。 所以我们有

k calls c calls fixme
g calls b calls fixme

,依此类推。

这些称为“链”的深度可能非常深,并且有数十个直接称为“ fixme”,因此手动解决方案将花费一些时间。而且这将不是唯一的重构任务。

所以-我正在寻找一种工具或策略,可以在我懒惰地观看的同时完成这项工作。

我知道诸如Eclipse之类的IDE,它们使您可以找到对方法的引用,但这些引用一次只能使用一种方法。用跟踪消息执行代码需要完整的代码覆盖范围,这是不可行的(也不可靠,因为我可能会错过一个)。我真的在寻找具有这种功能的静态代码分析器。

1 个答案:

答案 0 :(得分:1)

Eclipse可以做到这一点。在eclipse调用视图中(当光标位于方法上时,按CTRL + ALT + H),可以展开每个节点,以查看完整的调用堆栈。

全部展开后,右键单击顶部节点,然后选择“复制展开的层次结构”。

此解决方案的唯一问题是我找不到自动扩展它的方法,因此您必须为每个呼叫单击一次。