0

使用 JavaParser 将特定函数添加到类中。为此,我需要遍历所有子节点。

for (Node childNode : cu.getChildNodes()) {
                if (childNode instanceof ClassOrInterfaceDeclaration) {
                    ClassOrInterfaceDeclaration classOrInterfaceDeclaration = (ClassOrInterfaceDeclaration) childNode;
                    MethodDeclaration method = classOrInterfaceDeclaration.addMethod("testingGetterAndSetter", Modifier.PUBLIC);
                    method.addMarkerAnnotation("Test");
                    NodeList<Statement> statements = new NodeList<>();
                    BlockStmt blockStmt = JavaParser.parseBlock(String.format(TestMethod, className));
                    method.setBody(blockStmt);
                }
            }

但是使用eclipse我得到了错误。cu 不支持 getChildNodes(),其中 cu 是 CompilationUnit。我检查了japa.parser.ast.CompilationUnit,但没有 getChildNodes()。但是请在此页面中查看他们使用 cu.getChildNodes() 的代码片段。

我们什么时候可以使用它?需要改变什么?

4

0 回答 0