我正在編寫Java到Java Bytecode編譯器,編譯爲Jasmin代碼,並將其組裝到一起。我創建它的目的是源代碼文件將能夠引用和使用Java庫類(你幾乎必須爲字符串,打印等)。我的問題是如何去做這件事。Java到Java Bytecode編譯器:如何獲取Java類庫信息?
到目前爲止,我剛剛使用了對Java安裝文件夾中的文本文件中保存的所有庫類列表的引用(它只是列出了它們的包和名稱)。我已經用它來編碼解析器/類型檢查器,儘管這樣做並不理想,因爲類型檢查器在使用庫類時不能進行任何類型檢查。
現在真的是一個問題,我正在研究代碼生成,因爲如果你想調用一個庫類的方法,你必須給它提供完整的方法簽名 - 這是我無法訪問的。
我在徘徊什麼人的建議將如何進步。一種方法是通過創建所有參數和返回類型的數據庫/列表的所有類。這顯然非常耗時,並且可能太不切實際。還有其他更優雅的方法嗎?
感謝, 威爾
附:我使用Python來編碼。我想如果解決方案必須使用Java代碼,我可以將它作爲一個子進程運行。
是的,我最終選擇了這個選項。我寫了一個Java程序,它使用方法/字段等名稱並返回它們所屬的類(如果它們存在的話)。 Java Refletion API都是可能的。 – 2012-03-28 14:16:35