【问题标题】:Add a new method using eclipse JDT/AST使用 eclipse JDT/AST 添加新方法
【发布时间】:2014-03-20 14:19:20
【问题描述】:

我能够遍历 TypeDeclaration,我只想在上面添加一个简单的方法。我怎么做?我试过下面的代码 sn-p 但没有用。

AST ast = compilationUnit.getAST();
for (final TypeDeclaration typeDeclaration : allTypes) {
        MethodDeclaration methodNode = typeDeclaration.getAST()
                .newMethodDeclaration();

        // methodNode.parameters();
        methodNode.setName(ast.newSimpleName("test"));

        Block block = ast.newBlock();
        ListRewrite listRewrite = rewriter.getListRewrite(block,
                Block.STATEMENTS_PROPERTY);
        Statement statement = (Statement) rewriter
                .createStringPlaceholder("//New Edited \n ",
                        ASTNode.EMPTY_STATEMENT);
        listRewrite.insertLast(statement, null);
        methodNode.setBody(block);
}

【问题讨论】:

    标签: eclipse abstract-syntax-tree eclipse-jdt


    【解决方案1】:

    您可以通过以下代码获取第一个 TypeDeclaration 的 List Rewriter 来做到这一点:

        ListRewrite lrw = astRewriter.getListRewrite(((TypeDeclaration)compilationUnit.types().get(0)), TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
        lrw.insertLast(methodDeclaration, null);
    

    你去。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多