プロジェクト/ワークスペースでクラス (smcho.Hello) を操作するための Eclipse プラグイン コードがあります。CompilationUnit を作成し、それにいくつかの変更を加えることはできましたが、2 つのバージョンの違いを確認するには、結果を別のファイルに保存する必要があります。
これは、CompilationUnit を取得するコードです。
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IProject project = root.getProject("Hello");
project.open(null);
IJavaProject javaProject = JavaCore.create(project);
IType lwType = javaProject.findType("smcho.Hello");
org.eclipse.jdt.core.ICompilationUnit lwCompilationUnit = lwType.getCompilationUnit();
final ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setKind(ASTParser.K_COMPILATION_UNIT);
parser.setSource(lwCompilationUnit);
parser.setResolveBindings(true); // we need bindings later on
CompilationUnit unit = (CompilationUnit) parser.createAST(null /* IProgressMonitor */);
// modify the unit AST node
この変更されたユニットを新しいファイルに保存するにはどうすればよいですか?