使用 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() 的代码片段。
我们什么时候可以使用它?需要改变什么?