[英]Eclipse create CompilationUnit from .java file
如何將 .java 文件加載到 CompilationUnit 中? 例如,假設我當前的項目中有一個 A.java 文件。 我想將它加載到 CompilationUnit 中,然后將它傳遞給 ASTParser。 僅僅將它作為純文本加載不是一個選項,因為在那種情況下我似乎不會在 AST 中獲得綁定信息。
您可以使用jdt
和eclipse 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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.