.java ファイルを CompilationUnit にロードするにはどうすればよいですか? たとえば、現在のプロジェクトに A.java ファイルがあるとします。それを CompilationUnit にロードしてから、ASTParser に渡したいと思います。プレーンテキストとしてロードすることはオプションではありません。その場合、AST でバインド情報を取得できないように思われるからです。
質問する
5172 次
1 に答える
9
ライブラリを使用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 に渡すことができます。
于 2012-06-23T09:17:30.350 に答える