class Prism::BasicVisitor

一个知道如何遍历树的类。这个访问器上没有实现任何单独的 visit 方法,因此它强制消费者实现他们需要的每个方法。对于继续遍历树的默认实现,请参阅 Visitor 类。

公共实例方法

visit(node) 点击以切换源代码

如果给定的节点不是 `nil`,则调用该节点的 'accept',这反过来应该通过调用相应的 `visit_*` 方法回调到此访问器。

# File prism/visitor.rb, line 17
def visit(node)
  # @type self: _Visitor
  node&.accept(self)
end
visit_all(nodes) 点击以切换源代码

通过在每个节点上调用 `accept` 来访问 'nodes' 中的每个节点。

# File prism/visitor.rb, line 23
def visit_all(nodes)
  # @type self: _Visitor
  nodes.each { |node| node&.accept(self) }
end
visit_child_nodes(node) 点击以切换源代码

通过在每个子节点上调用 `accept` 来访问 'node' 的子节点。

# File prism/visitor.rb, line 29
def visit_child_nodes(node)
  # @type self: _Visitor
  node.compact_child_nodes.each { |node| node.accept(self) }
end