Java 如何在EclipseJDT的ListRewrite中获取节点的索引
我正在使用EclipseJDT修改源代码的AST。我想修改Java 如何在EclipseJDT的ListRewrite中获取节点的索引,java,abstract-syntax-tree,eclipse-jdt,Java,Abstract Syntax Tree,Eclipse Jdt,我正在使用EclipseJDT修改源代码的AST。我想修改MethodDeclaration节点。为此,我使用ASTVisitor访问了它并进行了更改。现在,我删除了过去的节点,并尝试使用ListRewrite.insertAt()方法在同一位置添加新节点。为此,我希望在删除节点之前获取该节点的索引。如何获取索引?为什么不调用ListRewrite.replace()而不是先删除然后添加 如果出于某种原因,这不符合您的目的,请尝试listRewrite.getOriginalList().ind
MethodDeclaration
节点。为此,我使用ASTVisitor
访问了它并进行了更改。现在,我删除了过去的节点,并尝试使用ListRewrite.insertAt()
方法在同一位置添加新节点。为此,我希望在删除节点之前获取该节点的索引。如何获取索引?为什么不调用ListRewrite.replace()
而不是先删除然后添加
如果出于某种原因,这不符合您的目的,请尝试
listRewrite.getOriginalList().indexOf(oldNode)
为什么不调用listRewrite.replace()
,而不是先删除然后添加
如果出于某种原因,这不符合您的目的,请尝试
listRewrite.getOriginalList().indexOf(oldNode)
您可以使用空语句作为占位符,并首先用空语句替换此节点。然后对节点进行更改。然后用节点替换空语句。这看起来像是一个黑客攻击,但很有效。您可以使用空语句作为占位符,然后首先用空语句替换此节点。然后对节点进行更改。然后用节点替换空语句。这看起来像一个黑客,但有效