2

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

有没有办法实现可以访问抽象节点类的访问者?

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

4

1 回答 1

4

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

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

免责声明:我是 JavaParser 贡献者

于 2015-07-14T09:05:07.230 回答