我想以编程方式从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中找不到任何结论。
任何建议都非常感谢。
此致 克里斯
答案 0 :(得分:0)
答案 1 :(得分:0)
如果我理解你的问题,那么这可能会有所帮助:
SearchEngine.searchAllTypeNames
这将搜索给定范围内的所有顶级类型和成员类型。
来自此处的更多信息:http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.jdt.doc.isv/guide/jdt_int_core.htm