2017-02-21 73 views
0

我正在尋找一種方法來查找IMethod,給定方法名稱作爲進一步開發我的eclipse插件的輸入。從java中的方法名獲取IMethod

想不到這樣做的方法。

有人可以請指導我在正確的道路。

+0

方法名不是唯一的,具有相同名稱的方法可以在同一個類(過載)或其他類存在。你還將什麼作爲輸入傳遞給你的插件? –

+0

感謝您的回覆。我可以給方法名稱和參數區別於其他方法 –

回答

0

可以有兩種方法:

  1. 可以使用ASTVisitor模式來參觀MethodDeclaration節點,做名和參數進行檢查,並通過解析綁定從他們那裏得到IMethod。請參閱下面的文章:

  2. 通過IMethods獲取從編譯單元和環路IType S,做檢查的名稱和參數,以找到所需的一個。

    IType [] typeDeclarationList = unit.getTypes(); 
    for (IType typeDeclaration : typeDeclarationList) { 
        // Get methods under each type declaration. 
        IMethod [] methodList = typeDeclaration.getMethods(); 
        for (IMethod method : methodList) { 
         // Logic here. 
        } 
    }