class documentation

class NodeVisitor(object):

Known subclasses: mako._ast_util.NodeTransformer, mako._ast_util.SourceGenerator, mako.pyparser.FindIdentifiers, mako.pyparser.FindTuple, mako.pyparser.ParseFunc

View In Hierarchy

Walks the abstract syntax tree and call visitor functions for every node found. The visitor functions may return values which will be forwarded by the visit method.

Per default the visitor functions for the nodes are 'visit_' + class name of the node. So a TryFinally node visit function would be visit_TryFinally. This behavior can be changed by overriding the get_visitor function. If no visitor function exists for a node (return value None) the generic_visit visitor is used instead.

Don't use the NodeVisitor if you want to apply changes to nodes during traversing. For this a special visitor exists (NodeTransformer) that allows modifications.

Method generic​_visit Called if no explicit visitor function exists for a node.
Method get​_visitor Return the visitor function for this node or None if no visitor exists for this node. In that case the generic visit function is used instead.
Method visit Visit a node.
def generic_visit(self, node):
Called if no explicit visitor function exists for a node.
def get_visitor(self, node):
Return the visitor function for this node or None if no visitor exists for this node. In that case the generic visit function is used instead.
def visit(self, node):
Visit a node.