Javaparser: посещение всех типов узлов одним методом

Я использую Javaparser для разбора исходного кода Java.

Есть ли способ реализовать Visitor, который может посещать абстрактный класс Node?

Я хочу посетить каждый узел и напечатать его номер строки, но я не хочу реализовывать метод visit() для каждого типа узла (AssignExpr, BinaryExpr, IfStmt и т. Д.), Потому что таких типов очень много.

1 ответ

Решение

Посетитель имеет смысл только обрабатывать различные типы элементов. Вместо этого вы можете начать с корня (CompilationUnit) и передать его процессу вашего метода:

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

Отказ от ответственности: я участник JavaParser

Другие вопросы по тегам