Class: Prism::Visitor

Inherits:
BasicVisitor show all
Defined in:
lib/prism/visitor.rb

Overview

A visitor is a class that provides a default implementation for every accept method defined on the nodes. This means it can walk a tree without the caller needing to define any special handling. This allows you to handle a subset of the tree, while still walking the whole tree.

For example, to find all of the method calls that call the ‘foo` method, you could write:

class FooCalls < Prism::Visitor
  def visit_call_node(node)
    if node.name == "foo"
      # Do something with the node
    end

    # Call super so that the visitor continues walking the tree
    super
  end
end

Direct Known Subclasses

Dispatcher, DotVisitor, InspectVisitor

Method Summary

Methods inherited from BasicVisitor

#visit, #visit_all, #visit_child_nodes