[英]Massive Eclipse AST Java Refactoring
親愛的stackoverflow社區!
我必須重構大量的Java類,並希望將其自動化。 我想使用Java JDT並為此編寫一個eclipse插件。
以下“問題”應解決:
方法不應在其定義中引發泛型異常。 我當時正在考慮刪除Exception throws塊,然后讓eclipse為我自動生成throws聲明。 這可能嗎? 我還沒有找到任何資源。 我已經能夠將所有相關方法用作JDT模型,但是不知道如何刪除throws塊並調用eclipse的自動更正功能。
// So instead of public int foo() throws Exception { // do some SQL-stuff } // Should be public int foo() throws SQLException, NoResultException { // do some SQL-stuff }
受保護的字段應重寫為私有字段,並應提供受保護的訪問者。 我認為這是可以自我解釋的,但是如何在項目外部編輯所有引用以獲取吸氣劑? (沒有設置器,如果有的話,我可以手動編輯它們)。
在此先感謝您,對不起我的英語。
如果您不知道如何開始,這里有一個很好的教程,介紹了如何在JDT中使用AST和Java模型: http : //www.vogella.com/tutorials/EclipseJDT/article.html
如果您分幾個步驟進行重構,則可以首先使用自己的插件刪除所有帶有通用異常的throw聲明,而使接觸的源代碼具有編譯錯誤。 然后,您可以在IDE中手動啟動快速修復。 如果您進行了大量更改,則不建議使用此方法。
在API本身中很難找到一個好的入口點,因為您可能想在一個“事務”中進行所有代碼更改。 過去,我嘗試過類似的東西,但總是自己編寫相關部分,盡管閱讀Eclipse代碼確實有很大幫助! 一個好的開始方法是使用“插件間諜”來找到相關的類。 (在Mac上為Shift + Alt + F1或Shift + Option + F1)。 它顯示當前所選內容的信息。
要自己創建throws塊,您可以使用AST中的訪問者模式檢查代碼,並收集所有拋出的異常(如果它們未包含在合適的catch塊中)。
第二個要求可以通過AST直接實現。 您可以查看Eclipse的“封裝字段”重構,了解如何執行此操作(或在可能的情況下使用此功能)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.