class Prism::BasicVisitor

continues walking the tree, see the Visitor class.
implement each one that they need. For a default implementation that
methods are implemented on this visitor, so it forces the consumer to
A class that knows how to walk down the tree. None of the individual visit

def visit(node)

call back into this visitor by calling the appropriate `visit_*` method.
Calls `accept` on the given node if it is not `nil`, which in turn should
def visit(node)
  # @type self: _Visitor
  node&.accept(self)
end

def visit_all(nodes)

Visits each node in `nodes` by calling `accept` on each one.
def visit_all(nodes)
  # @type self: _Visitor
  nodes.each { |node| node&.accept(self) }
end

def visit_child_nodes(node)

Visits the child nodes of `node` by calling `accept` on each one.
def visit_child_nodes(node)
  # @type self: _Visitor
  node.compact_child_nodes.each { |node| node.accept(self) }
end