java - 创建最终调用指定方法的 java 方法列表
问题描述
我的任务是查找大型 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 可以让您找到对方法的引用,但这些IDE 一次只能使用一种方法。使用跟踪消息执行代码需要完整的代码覆盖,这是不可行的(也不可靠,因为我可能会错过一个)。我真的在寻找某种具有这种功能的静态代码分析器。
解决方案
Eclipse 可以做到这一点。在 Eclipse 调用视图中(当光标位于方法上时,CTRL+ALT+H)您可以展开每个节点,以查看完整的调用堆栈。
全部展开后,右键单击顶部节点并选择“复制展开的层次结构”。
此解决方案的唯一问题是我找不到自动扩展它的方法,因此您必须为每个呼叫单击一次。
推荐阅读
- c++ - 运算符“<”不能应用于“字符串”和“字符串”类型的操作数
- import - QGis 中的 DWG/DXF 导入失败
- reactjs - Next.js & Axios - 将 Axios 请求中的 statusCode 500 转发到 Next.js
- html - 在 Iphone 屏幕中将表格单元格转换为表格行
- python - 如何为 VSCode 安装以前版本的 Python 扩展
- .net-core - 获取指定AD组的所有用户只返回一个用户
- apache-spark - 由于 org.apache.spark.SparkException,我无法在 EMR 集群中运行我的 spark 程序
- java - 其他类中的JButton调用函数
- reactjs - 需要解释事件更改处理程序代码
- python - 如何为什么是 for-loops w 累积索引