![](/img/trans.png)
[英]How to determine the class is AnnotationDeclaration or TypeDeclaration using JDT
[英]Finding a TypeDeclaration in an IProject with the JDT search engine by its name
如何使用JDT搜索引擎在IProject
找到TypeDeclaration
? 我想使用包和類的名稱(例如"my.package.ClassName"
)在特定的IProject
找到其TypeDeclaration
。
我知道我可以使用Java AST和AST訪問者來比較當前包和節點名稱,但是我更喜歡使用字符串搜索。
如果您已經擁有該類的合格名稱並擁有一個項目,則無需使用搜索引擎。
步驟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)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.