класс Prism::BasicVisitor
Класс, знающий, как пройти по дереву. Ни один из отдельных методов посещения не реализован в этом посетителе, поэтому он заставляет потребителя реализовать каждый необходимый. Для реализации по умолчанию, которая продолжает проходить по дереву, см. класс Visitor.
Публичные методы экземпляра
# File lib/prism/visitor.rb, line 16 def visit(node) node&.accept(self) end
Вызывает ‘accept` для данного узла, если он не `nil`, что, в свою очередь, должно вызвать обратный вызов в этого посетителя, вызвав соответствующий метод `visit_*`.
# File lib/prism/visitor.rb, line 21
def visit_all(nodes)
nodes.each { |node| node&.accept(self) }
end Посещает каждый узел в ‘узлы`, вызывая `accept` для каждого из них.
# File lib/prism/visitor.rb, line 26
def visit_child_nodes(node)
node.compact_child_nodes.each { |node| node.accept(self) }
end Посещает дочерние узлы ‘узла`, вызывая `accept` для каждого из них.
Ruby Core © 1993–2022 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.