2017-02-10 15 views
0

如何使用JDT搜索引擎在IProject中找到TypeDeclaration? 我想使用該包和名稱(例如"my.package.ClassName")來查找特定IProject中的TypeDeclaration在IP項目中使用JDT搜索引擎查找類型聲明

我知道我可以使用Java AST和AST訪問器來比較當前包和節點名稱,但我更願意使用字符串搜索。

回答

1

如果您已經擁有該課程的限定名稱並擁有一個項目,則不需要使用搜索引擎。

第1步:獲得IJavaProject實例代表項目:

IJavaProject jProj = JavaCore.create(proj); 

第2步:找到IType代表你的類:

IType type = jProj.findType(fullyQualifiedname); 

第3步:獲得包含編譯單元:

ICompilationUnit cu = type.getCompilationUnit(); 

第4步:將此傳遞給ASTParser將創建TypeDeclaration(作爲CompilationUnit的一部分):

astParser.setSource(cu); 

(這是假設你已經有一個ASTParser,知道如何調用分析和檢查導致AST)。