java - 解析方法调用: Implicit dependencies on other classes

标签 java parsing methods

我正在尝试解析java源代码文件中的所有方法调用并将它们与各自的类相关联。首先,我认为我只需要查找通过 import 语句导入的类(我们公司的准则禁止 *-imports)。然后我可以找出这种类型的变量在哪里使用并记录它们的方法调用。

然后我注意到有像

这样的结构
A.getB().getC()

类 B 实际上从未被导入(因为它没有显式使用),但它的函数 getC() 被调用(并且源代码以某种方式隐式“依赖”它)。

还有其他类似的案例吗?

最佳答案

显然,来自同一包的类不会出现在导入语句中。 (您可能已经意识到这一点,但以防万一。)

此外,使用反射,可能有很多方法可以使用未导入的类(请参阅 Black Joker 刚刚发布的答案)。

此外,您可以直接在声明中完全限定类

package.subpackage.Class

它们也不是导入的。

关于java - 解析方法调用: Implicit dependencies on other classes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33624995/

相关文章:

Python从一个巨大的字符串中提取电子邮件地址

java - 在 void 方法中返回 void?

c# - 从 C# 中的函数中获取当前正在执行的函数的名称

javascript - 使用 _.throttle 限制 .apply 方法的速率

java - 如何将数据从 RecyclerView 传递到 Activity

java - 读取输入文件后如何操作输出文件?

java - 添加一个文本字段?

java - Sun、音频播放器和声音 I/O

javascript - 服务器端 JavaScript 清理还是沙箱?

python - 如何删除列表列表中的最后一个元素?