Javaparser:用一种方法访问所有节点类型
Javaparser: Visit all node types with one method
我正在使用 Javaparser 解析 Java 源代码。
有没有办法实现可以访问抽象节点的Visitorclass?
我想访问每个节点并打印它的行号,但我不想为每个节点类型(AssignExpr、BinaryExpr、IfStmt 等)实现一个 visit() 方法,因为有很多多种类型。
访问者只有处理不同类型的元素才有意义。您可以改为从根(CompilationUnit)开始并将其传递给您的方法过程:
void process(Node node){
// Do something with the node
for (Node child : node.getChildrenNodes()){
process(child);
}
}
免责声明:我是 JavaParser 贡献者
我正在使用 Javaparser 解析 Java 源代码。
有没有办法实现可以访问抽象节点的Visitorclass?
我想访问每个节点并打印它的行号,但我不想为每个节点类型(AssignExpr、BinaryExpr、IfStmt 等)实现一个 visit() 方法,因为有很多多种类型。
访问者只有处理不同类型的元素才有意义。您可以改为从根(CompilationUnit)开始并将其传递给您的方法过程:
void process(Node node){
// Do something with the node
for (Node child : node.getChildrenNodes()){
process(child);
}
}
免责声明:我是 JavaParser 贡献者