嗨我想開始玩Java靜態分析的Java源代碼。作爲一個開始,直接解析我的源代碼樹似乎是最簡單的,但是假設這裏有API。特別是這將是很好,有這使得代碼像這樣的API:Java靜態分析:入門
for (MetaClass m : mySourcePackage.getClasses())
{
System.out.println(m.getMethods().size());
...
}
當然,對於任何給定的類,你可以使用反射做到這一點 - 但我更感興趣的是靜態分析的整體源代碼包,從頭開始 - 逐個遍歷類(例如,評估諸如測試覆蓋率,最大行數等等)。
是否有任何高質量的開源框架來進行這樣的元分析(或者,是否有可能通過某個類路徑啓動JVM並在JVM內部進行這樣的分析)?
請記住,我並不特別擔心DI和反射等問題(至少現在不在這裏)。
你可能想要*解析Java源代碼,ANTLR有一個現成的[語法](http://openjdk.java.net/projects/compiler-grammar /antlrworks/Java.g)。另外考慮分析字節碼 - 令人驚訝的是,你可能會發現它更容易。 – 2012-02-19 22:31:35
JAva - > Java ..請改正標題;) – h3xStream 2012-02-19 22:50:04