如何使用JDT Java搜索引擎查找匿名类或本地类型?

时间:2010-05-20 14:06:05

标签: java eclipse search-engine eclipse-jdt

我想以编程方式从JDT Java搜索引擎获取匿名类或本地声明类型(即IType实例)的模型,该名称由完全限定名称提供。到目前为止,在搜索没有嵌套在其他类型中的“通常”类型时,我做得很好:

SearchPattern pattern = SearchPattern.createPattern(this.fullyQualifiedName, IJavaSearchConstants.TYPE, IJavaSearchConstants.DECLARATIONS, SearchPattern.R_EXACT_MATCH);
IJavaSearchScope scope = SearchEngine.createWorkspaceScope();
SearchRequestor requestor = new TypeSearchRequestor(this);
SearchEngine searchEngine = new SearchEngine();
searchEngine.search(pattern, new SearchParticipant[] {SearchEngine.getDefaultSearchParticipant()}, scope, requestor, null);

为什么它会破坏匿名类和本地声明的类型,我该如何解决?我怀疑,我必须更改SearchPattern,但在JavaDoc中找不到任何结论。

任何建议都非常感谢。

此致 克里斯

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

如果我理解你的问题,那么这可能会有所帮助:

SearchEngine.searchAllTypeNames

这将搜索给定范围内的所有顶级类型和成员类型。

来自此处的更多信息:http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.jdt.doc.isv/guide/jdt_int_core.htm