Eclipse从.java文件创建CompilationUnit

如何将.java文件加载到CompilationUnit中?例如,假设我在当前项目中有一个A.java文件。我想将其加载到CompilationUnit中,然后将其传递给ASTParser。仅将其加载为纯文本不是一种选择,因为在那种情况下,我似乎不会在AST中获取绑定信息。

回答:

您可以使用jdteclipse core库加载项目。

使用以下代码,您可以将所有项目加载到工作区中。

IWorkspace workspace = ResourcesPlugin.getWorkspace();

IWorkspaceRoot root = workspace.getRoot();

// Get all projects in the workspace

IProject[] projects = root.getProjects();

然后,您可以获取软件包,然后获取Java文件。

IPackageFragment[] packages = JavaCore.create(project).getPackageFragments();

IPackageFragment mypackage = packages.get(0); // implement your own logic to select package

ICompilationUnit unit = mypackage.getCompilationUnits();

然后,您可以使用此ICompilationUnit对象获取CompilationUnit

ASTParser parser = ASTParser.newParser(AST.JLS3); 

parser.setKind(ASTParser.K_COMPILATION_UNIT);

parser.setSource(unit);

parser.setResolveBindings(true);

CompilationUnit cUnit = parser.createAST(null);

可以将此CompilationUnit对象传递给ASTParser。

以上是 Eclipse从.java文件创建CompilationUnit 的全部内容, 来源链接: utcz.com/qa/423743.html

回到顶部