有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

字节码如何通过接口类型检测java局部变量,然后找到调用它们的方法?

我有一些(可能)奇怪的要求——我想检测给定接口名称的局部(方法)变量的定义。当找到这样一个变量时,我想检测对这个变量调用哪些方法(set/get*)。 我很幸运地尝试了Javassist,现在我对ASM有了更深入的了解,但不确定它是否可能满足我的需求。 原因是我喜欢用依赖于相同数据结构的bean图生成依赖关系图。 如果这件事是可能的,有人能告诉我怎么做吗?也许还有其他框架可以做到这一点

2015年9月1日

为了让事情更清楚:

该界面是自行编写的——整个操作的目标是在第一步自动创建依赖关系图——之后,应基于依赖关系实现图形编辑器。 我想知道FindBugs/PMD是如何工作的,因为它们还使用字节码并检测空指针调用(变量未初始化,将对其调用方法)。所以我想我可以用同样的方式实现我的想法。整个代码都是基于Spring的——也许这为这一点提供了另一种解决方案?最后但并非最不重要的一点是,我可以在源jar上工作

在谈到这个问题时——是否可以通过ASM/javassist检测接口中所有可用的方法,并在其他类中找到对它们的调用


共 (1) 个答案