4
A
回答
3
CallHierarchy hierarchy = new CallHierarchy();
IJavaSearchScope searchScope = SearchEngine.createWorkspaceScope();
hierarchy.setSearchScope(searchScope);
ArrayList<MethodCall> methodCalls = new ArrayList<MethodCall>();
MethodWrapper[] callerWrapper = hierarchy.getCallerRoots(methods);
ArrayList<MethodWrapper> callsWrapper = new ArrayList<MethodWrapper>();
for (int i = 0; i < callerWrapper.length; i++) {
callsWrapper.addAll(Arrays.asList(callerWrapper[i]
.getCalls(new NullProgressMonitor())));
}
for (int i = 0; i < callsWrapper.size(); i++)
methodCalls.add(callsWrapper.get(i).getMethodCall());
// Now you will get method calls in methodCalls list.
IMember member = methodCalls.get(0).getMember();// you will get one of
// caller method in
// member by this method
0
下面是在CDT的代碼,用於填充呼叫層次視圖鏈接: http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/tree/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/callhierarchy/CHQueries.java
看起來相當複雜,其所有的內部(指其未公開API)。玩的開心。
相關問題
- 1. 從字節代碼獲取調用層次結構(在Eclipse中)
- 2. 在Java中獲取類層次結構?
- 3. 如何在Fortran中獲取子例程調用層次結構?
- 4. PHP調用層次結構
- 5. 如何在Eclipse中關閉類型層次結構彈出窗口CDT
- 6. Eclipse返回「調用」而不是「調用層次結構」
- 7. eclipse中的「打開調用層次結構」不起作用
- 8. 獲取使用反射方法的調用層次結構
- 9. Eclipse IDE - 打開調用層次結構爲空/中斷
- 10. Eclipse中的良好調用層次結構/ PyDev
- 11. eclipse中的Java項目層次結構
- 12. 打開調用層次結構無法在Eclipse中找到調用者
- 13. Spring:如何獲取bean層次結構?
- 14. NSView - 獲取超視圖層次結構
- 15. 如何在Intellij中獲得完整的調用層次結構
- 16. 在gdb/Eclipse中顯示真實對象層次結構CDT通過指針調試手錶
- 17. 以編程方式訪問Eclipse的調用層次結構
- 18. 如何保存eclipse調用層次結構搜索
- 19. Eclipse調用層次結構跳過未定義的#ifdef區域中的調用
- 20. 在android中獲取獨特的ID在getchildView(...)的層次結構
- 21. 層次結構
- 22. UITableView和NXXMLParser ...調用層次結構
- 23. Ruby方法調用層次結構
- 24. 如何實現調用層次結構
- 25. UIViewController函數調用層次結構
- 26. 字段的IntelliJ調用層次結構
- 27. 如何在eclipse中禁用層次結構查看器
- 28. 層次結構在SQL Server - 多層次
- 29. 在eclipse中調試fork()cdt
- 30. MDX獲取值並在層次結構上使用它
這是Eclipse JDT的解決方案..但我需要在Eclipse CDT中完成它,因爲我正在爲C項目開發插件,並且在Eclipse CDT中找不到等效的「CallHierarchy」類。 – cipher 2012-07-21 23:07:02