2014-07-16 32 views
-2

我必須在java中找到方法的用法。在java中找到方法的用法

需求是編寫元代碼,它可以查找代碼並找出使用的方法和位置。 在eclipse中我們可以找到它:Find methods calls in Eclipse project

我試過手動解析代碼和java解析器api:http://code.google.com/p/javaparser/

我發現這兩個選項都很困難,並涉及很多需要處理的場景。

任何可以使用的API或我必須手動分析代碼以找到用法?

+0

我不知道爲什麼它downvoted,問題是完全有效的(只是,我沒有添加我試過X和Y),反正添加,我試過X和Y :) –

+1

我會想象downvotes是因爲問題出現(*任何可以使用的API,或者我必須手動解析代碼以找到用法?*「在我看來,就像我們推薦一個庫的請求,這是在StackOverflow上脫離主題的問題) 。 – JonK

回答

1

如果你可以分析它之前編譯代碼,那麼你就可以檢查字節碼爲了找到方法調用。

例如,您可以使用ObjectWeb ASM庫。使用這個庫,你需要編寫讀取類文件的代碼。然後,您可以檢查類文件中的每個方法,以查找INVOKESTATIC,INVOKEVIRTUAL,INVOKEINTERFACE和INVOKESPECIAL字節碼指令。這些是用於調用方法的字節碼指令。每條指令都有被調用方法的名稱,聲明類/接口的名稱以及與指令相關的描述符。

這聽起來可能相當複雜,但實際上並非如此。