2017-02-21 33 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. 
        } 
    }