【发布时间】:2014-12-18 16:01:59
【问题描述】:
我有兴趣收集一些关于我可以访问的大型 Java 代码语料库的统计数据。我感兴趣的一些统计数据可能包括使用某些方法/类的频率、导入某些包的频率等等。
我的第一个想法是使用javaparser,但该库仅支持 Java 1.5,而且我拥有的大部分代码都是 1.6 或更高版本。
是否有一个库可以通过一些 Java 代码为我提供准确的 AST(即,我可以向 javac 询问它吗?),或者有没有更好的方法来解决这个问题(也许检查字节码)?
【问题讨论】:
-
我会深入研究 pmd 的how it works,看看您是否可以根据您的需求调整它。也就是说,这不是你想的小事。
-
我不知道如何解决这个问题,但你会得到我的一颗星,因为我很想知道你想出了什么。如果您确实找到答案,请将其作为答案发布!它会帮助互联网上的很多人,就像你在寻找解决方案一样!
-
@DreadHeadedDeveloper 我一定会在我弄明白的时候回帖。要是这能像在 Haskell 中一样简单就好了……(感谢 haskell-src-exts!)
-
你的问题“使用某种方法的频率是多少”等于问“有多少地方调用这种方法?”。为此,您需要一个 Java 调用图。看我的回答:stackoverflow.com/a/26519597/120163
-
这个链接怎么样programcreek.com/2012/04/…