这是一个 groovy 脚本,它从一个编译单元中提取一个类成员,将其存储在名为 Member 的模型中,然后尝试将其添加到另一个编译单元。
我在最后一部分遇到问题,谁能帮助我。我已经通过 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()}"
}