これは、1 つのコンパイル ユニットからクラス メンバーを抽出し、それを Member という名前のモデルに格納してから、それを別のコンパイル ユニットに追加しようとする groovy スクリプトです。
最後の部分に問題があります。誰か助けてください。しばらくの間、jdt javadoc を介してハイパーリンクを行ってきましたが、正しい実行シーケンスが見つからないようです
void addMemberToTargetSourceFile(CompilationUnit cu2, List<Member> memberToBeAddedToTargets){
cu2.recordModifications();
for(m in memberToBeAddedToTargets){
AbstractTypeDeclaration type = (AbstractTypeDeclaration)cu2.types().get(0)
type.add(m.node.asType( ASTNode.nodeClassForType(m.node.getNodeType()))
}
ASTRewrite astRewrite= ASTRewrite.create(cu2.getAST())
Document doc = new Document(cu2.toString())
TextEdit edit= astRewrite.rewriteAST(doc, null)
edit.apply(doc)
println "${edit.toString()}"
}