我使用Javaparser来解析Java源代码。
有没有办法实现可以访问抽象Node类的访问者?
我想访问每个Node并打印其行号,但我不想为每个Node类型(AssignExpr,BinaryExpr,IfStmt等等)实现visit()方法,因为有很多类型
答案 0 :(得分:2)
访客只有处理不同类型的元素才有意义。您可以从根(CompilationUnit)开始,并将其传递给您的方法进程:
void process(Node node){
// Do something with the node
for (Node child : node.getChildrenNodes()){
process(child);
}
}
免责声明:我是JavaParser撰稿人