File: //usr/lib/python3.6/site-packages/jinja2/__pycache__/visitor.cpython-36.opt-1.pyc
3
aG�\� � @ s4 d Z ddlmZ G dd� de�ZG dd� de�ZdS )z�
jinja2.visitor
~~~~~~~~~~~~~~
This module implements a visitor for the nodes.
:copyright: (c) 2017 by the Jinja Team.
:license: BSD.
� )�Nodec @ s( e Zd ZdZdd� Zdd� Zdd� ZdS ) �NodeVisitora 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.
c C s d|j j }t| |d�S )z�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.
Zvisit_N)� __class__�__name__�getattr)�self�node�method� r
�/usr/lib/python3.6/visitor.py�get_visitor s zNodeVisitor.get_visitorc O s4 | j |�}|dk r"||f|�|�S | j|f|�|�S )z
Visit a node.N)r �
generic_visit)r r �args�kwargs�fr
r
r �visit"