2014-11-06 3 views
1

Я использую систему посетителя с Java JDT для чтения в исходном коде. Я ищу, чтобы найти метод вызова, например:Методы поиска Java JDT

System.out.println(i); 

Я понимаю, шаблон посетителя, поэтому мне нужно что-то вроде:

public boolean visit(MethodPattern node) { 

//code here 

} 

, но я не знаю, что тип узла должен быть настолько что у меня будет доступ к информации в вызове метода. Такие, как «я» в первом примере, или с в следующем примере:

foo(String s) 
+0

Отличный инструмент для анализа вашего кода - это ASTView. Он может показать вам АСТ любого кода, помеченного в вашем редакторе. Вы можете установить его в Eclipse с сайта обновлений http://www.eclipse.org/jdt/ui/update-site –

ответ

0

Я не знаю, где вы взяли метод подписи visit(MethodPattern node) из. Но вы можете переопределить visit(MethodInvocation node), чтобы иметь возможность проверять вызовы методов. Затем вы можете использовать the passed node для запроса аргументов метода и т.п.

public class MyVisitor extends org.eclipse.jdt.core.dom.ASTVisitor { 

    public boolean visit(MethodInvocation node) { 
     List<?> arguments = node.getArguments(); 
     // do something with the arguments, etc. 
    } 
} 
+0

Работал, спасибо большое! – Steven

Смежные вопросы