Получение дочернего узла из экземпляра переменной CompilationUnit

#java #javaparser #compilationunit

Вопрос:

Работа с 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);
                }
            }
 

Но с затмением я получаю ошибку. Что getChildNodes() не поддерживается для cu, где cu является единицей компиляции. Я проверил с помощью japa.parser.ast.CompilationUnit, но там нет getChildNodes(). Но проверьте этот фрагмент кода на этой странице, где они используют cu.getChildNodes().

Когда мы сможем это использовать? Что нужно изменить?