2009-08-31 92 views
1

可能重複:
Plugging in to Java compilers從AnnotationProcessor讀取的字節碼

編輯 - 這似乎是Plugging in to Java compilers


愚弄的人,我想實現一個AnnotationProcessor用於將被調用的apt工具將一個類編譯爲字節碼,可以讀取和修改字節碼。

這樣做的原因是我想將帶註釋的方法翻譯成另一種語言,並用存根調用翻譯後的版本替換java方法。

但是AnnotationProcessorEnvironment接口只提供了生成新類的方法,而不是回讀前一輪生成的類文件。

Instrumentation API做了類似於我想要的東西,但只在運行時。我正在尋找一種在編譯時做到這一點的方法。

+0

根據要求關閉。不刪除,因爲標題是描述性的,會引導更多的人訪問原文。 – 2009-08-31 18:35:18

回答

1

我看看,當我想要做的編譯器的一些操作,但最終使用後處理器。

您可以使用APT操作抽象語法樹(AST),但只能使用編譯器特定的黑客手段。如果你需要一個如何完成的例子,Project Lombok可以通過Sun javac和Eclipse編譯器來完成。目前,似乎沒有更好的方法。

+0

不只是相關,而是一個愚蠢。感謝您的鏈接。 – finnw 2009-08-31 18:16:40