2017-02-21 38 views
0

Я ищу способ найти IMethod, учитывая имя метода как входной для дальнейшего развития моего плагина eclipse.Получить IMethod от имени метода в java

Не удалось выяснить, как это сделать.

Может кто-то, пожалуйста, направьте меня по правильному пути.

+0

Имя метода не является уникальным, методы с тем же именем может существовать в одном классе (перегрузки) или других классов. Что еще вы передаете в качестве входных данных для своего плагина? –

+0

Спасибо за ответ. Я могу дать имя метода вместе с параметрами, чтобы отличить от других методов –

ответ

0

Там может быть два подхода:

  1. Вы можете использовать ASTVisitor шаблон для посещения MethodDeclaration узлов, сделать чек на имя и аргументы, и получить от них IMethod путем разрешения связывания. См ниже сообщения:

  2. Получить IType S из модуля компиляции и петли через IMethods, не проверка имени и аргументов, чтобы найти искомое.

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