2

我正在寻找一种 java 中的机制(也许像Reflection)来访问程序中的语句。例如,我访问一个函数的语句,然后遍历语句树以对 java 程序进行分析。

在 .Net 中,Microsoft 提供了Extended Reflection. java中的替代方法是什么?


对于 C 文件,CIL处理.c源文件并允许我们访问语句并静态地遍历树(甚至更改和插入代码)。如果有一个工具可以处理.java代码并做类似的工作,可以解决我的问题。

4

1 回答 1

2

如果您打算通过 Java 应用程序分析 Java 代码,您将需要源代码的副本。 .java文件本质上是文本文件,因此有了源代码,您的程序可以像读取任何文本文件一样读取文件。

有几种工具,例如 PMD 和 Clover,可以为您执行此分析。使用已建立的工具可以节省时间和资源。尽管 Clover 不再是免费工具,但它提供了有关代码复杂性的广泛指标。我相信 PMD 可能会提供类似的指标。

于 2013-10-11T13:52:46.420 回答