2010-05-20 43 views
3

我想以編程方式從JDT Java搜索引擎獲取匿名類或本地聲明類型(即IType的實例)的模型,該類型由完全限定名稱所知。到目前爲止,我與沒有嵌套在其他類型的「通常」類型的搜索時,下面做的很好:如何使用JDT Java搜索引擎查找匿名類或本地類型?

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

什麼this.fullyQualifiedName包含匿名或內部類? 嘗試使用「$」的範圍分隔構建一個類的全名時,像這樣:

a.b.c.Outer$Inner 
a.b.c.Outer$1 // anonymous