class Visitor(_BaseVisitor[
Known subclasses: pydoctor.visitor.PartialVisitor
Constructor: Visitor(extensions)
"Visitor" pattern abstract superclass implementation for tree traversals.
Each class has corresponding methods, doing nothing by
default; override individual methods for specific and useful
behaviour. The visit() method is called by
walkabout() upon entering a object, it also calls
the depart() method before exiting a object.
The generic methods call "visit_ + objet class name" or "depart_ + objet class name", resp.
This is a base class for visitors whose visit_... & depart_... methods should be implemented for all concrete objets types encountered.
This visitor can be composed by other vistitors, see L{VisitorExt}.
| Exception | |
Comletely stop visiting the current node, extensions will not be run on that node. |
| Exception | |
Do not visit any children of the current node. The current node's siblings and depart_... method are not affected. |
| Exception | |
Do not visit the current node's children, and do not call the current node's depart_... method. The extensions will still be called. |
| Class Method | get |
Undocumented |
| Method | __init__ |
Undocumented |
| Method | depart |
Extend the base depart with extensions. |
| Method | visit |
Extend the base visit with extensions. |
| Method | walkabout |
Perform a tree traversal, calling visit() method when entering a node and the depart() method before exiting each node. |
| Instance Variable | extensions |
Undocumented |
| Exception | _ |
Base class for Visitor-related tree pruning exceptions. |
| Instance Variable | _skipped |
Undocumented |
Inherited from _BaseVisitor:
| Method | unknown |
Called before exiting unknown object types. |
| Method | unknown |
Called when entering unknown object types. |
pydoctor.visitor._BaseVisitor.visitExtend the base visit with extensions.
- Parameters:
- node: The node to visit.
Perform a tree traversal, calling visit() method when entering a
node and the depart() method before exiting each node.
Takes special care to handle L{_TreePruningException} the following way:
- If a L{SkipNode} exception is raised inside the main visitor C{visit()} method, the C{depart_*} method on the extensions will still be called.
| Parameters | |
ob:T | An object to walk. |