class NodeVisitor(object):
Known subclasses: mako._ast_util.NodeTransformer
, mako._ast_util.SourceGenerator
, mako.pyparser.FindIdentifiers
, mako.pyparser.FindTuple
, mako.pyparser.ParseFunc
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. |
mako._ast_util.NodeTransformer