Javaparser:用一种方法访问所有节点类型

jem*_*jem 3 java parsing javaparser

我正在使用Javaparser来解析 Java 源代码。

有没有办法实现一个可以访问抽象Node类的Visitor?

我想访问每个节点并打印其行号,但我不想为每个节点类型(AssignExpr、BinaryExpr、IfStmt 等)实现访问()方法,因为类型太多。

Fed*_*tti 6

访问者只有处理不同类型的元素才有意义。您可以从根(CompilationUnit)开始并将其传递给您的方法进程:

void process(Node node){ // Do something with the node for (Node child : node.getChildrenNodes()){ process(child); } }

免责声明:我是 JavaParser 贡献者