我正在使用Eclipse JDT来修改源代码的AST。我想修改MethodDeclaration
节点。为此,我使用ASTVisitor
访问了它并进行了更改。现在我删除了过去的节点,并尝试使用ListRewrite.insertAt()
方法在同一位置添加新节点。为此我想在删除之前获取节点的索引。我怎样才能获得索引?
答案 0 :(得分:2)
为什么不拨打ListRewrite.replace()
而不是先删除然后添加?
如果出于某种原因无法满足您的目的,请尝试listRewrite.getOriginalList().indexOf(oldNode)
。
答案 1 :(得分:1)
您可以使用空语句作为占位符,并首先用空语句替换此节点。然后更改您的节点。然后用您的节点替换空语句。这看起来像黑客但有效。