2014-11-06 68 views
1

我正在使用Java JDT的訪問者系統來讀取源代碼。我希望找到例如方法調用:Java JDT查找方法

System.out.println(i); 

我瞭解訪問者模式,所以我需要的東西,如:

public boolean visit(MethodPattern node) { 

//code here 

} 

,但我不知道節點的類型應該是什麼等等我可以訪問方法調用中的信息。如「我」在下面的示例中的第一個例子或S:

foo(String s) 
+0

一個很好的工具來分析你的代碼是ASTView。它可以顯示編輯器中標記的任何代碼的AST。您可以從更新站點將其安裝到Eclipse中http://www.eclipse.org/jdt/ui/update-site – 2014-11-07 08:25:03

回答

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 2014-11-06 16:59:40