Eclipse – 查看一个类的哪些方法在另一个类中使用?
使用Eclipse,给出以下类:
class Dao { public void one() {} public void two() {} public void three() {} } class ServiceA { Dao dao; public void a() { dao.one(); dao.two(); } public void b() { dao.one(); } } class ServiceB { Dao dao; public void z() { dao.two(); dao.three(); } }
…是否可以查看从ServiceA
引用的所有Dao
方法的列表? 我正在寻找一个显示ServiceA
使用one()
和two()
视图(如果one()
列出两次,请不要介意。
我知道如何查看一个特定方法的调用者。 我真的需要一个类中引用的所有方法的列表。 考虑遗留代码数量级更大:dao和具有数十(数百?)种方法的服务。 我不想通过方法通过调用层次结构方法。
实际上,您可以在Dao方法中单击鼠标右键,然后单击“打开调用层次结构Ctrl + Alt + H”,Eclipse将为您找到所有Dao方法调用。
康拉德加鲁斯2011年6月30日7:37在评论中说:
是的,除此之外,我需要从另一侧。 查看从Service调用的所有方法,而不是所有Dao.conreteMethod()调用。
– 我需要创建一个新答案,因为我会使用两张图片来说明我的观点。 (不能在评论中使用图像)
‘Ctrl + Alt + H’调出了调用层次结构,正如其他人在此处所提到的那样。
然后,您需要点击这些图标,具体取决于您的需求:
和
编辑 :
那里的VonC答案怎么样(里面有锯齿状的截图图片)?
在这里,我使用CTRL-H代码搜索对Dao.one()的调用。
结果:在搜索结果视图中,还有另一个小图标“按类型分组”。
按Ctrl+Shift+G
执行搜索,显示正在使用方法或所选类的所有位置。
此外,您可以临时将所有public
方法设置为private
可见性,并检查弹出错误的位置。
您可以使用代码覆盖率插件/工具。
例如:
- 依赖性分析器(http://www.dependency-analyzer.org/)
- Codecover
- UCDetector
- FindBugs的
- PMD
- CodePro Analytics(不含Google)
如果右键单击某个方法并选择“打开调用层次结构”,则可以使用特定方法获取所有类的列表。