2017-02-10 6 views
0

Как найти TypeDeclaration в IProject с поисковой системой JDT? Я хочу использовать пакет и имя (например, "my.package.ClassName") класса, чтобы найти его TypeDeclaration в конкретном IProject.Поиск типа декларации в 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).

 Смежные вопросы

  • Нет связанных вопросов^_^