Вам необходимо понять, как JDT работает в Eclipse.
Вы можете написать что-то вроде этого в плагине:
IProject project = ResourcesPlugin.getWorkspace().getRoot()
.getProject(PROJECT_NAME);
IJavaProject javaProject = JavaCore.create(project);
IType type = project.findType(TYPE_NAME);
ICompilationUnit icu = type.getCompilationUnit();
Прочитайте Управление Java-кодом , чтобы увидеть, что вы можете сделать с ICompilationUnit
.
Если вам нужны дополнительные параметры, вы можете сгенерировать AST вашего ICompilationUnit
, используя, например:
CompilationUnit parse(ICompilationUnit unit)
{
ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setKind(ASTParser.K_COMPILATION_UNIT);
parser.setSource(unit);
parser.setResolveBindings(true);
return (CompilationUnit) parser.createAST(null);
}
Обратите внимание, что установка resolveBindings
на true
стоит дорого, поэтому делайте это только при необходимости. CompilationUnit
является корнем вашего AST, который вы можете посетить, используя ASTVisitor . Снова посмотрите предыдущий документ, чтобы увидеть, что вы можете сделать с AST.
Прочитайте документацию онлайн, проверьте API соответствующих типов и попытайтесь найти исходный код некоторых примеров плагинов.