/opt/imunify360/venv/lib/python3.11/site-packages/jinja2/__pycache__
� m�Rn�ŗ� �D � d Z ddlmZ ddlmZ d� Z G d� de� � ZdS )a� The optimizer tries to constant fold expressions and modify the AST in place so that it should be faster to evaluate. Because the AST does not contain all the scoping information and the compiler has to find that out, we cannot do all the optimizations we want. For example, loop unrolling doesn't work because unrolled loops would have a different scope. The solution would be a second syntax tree that stored the scoping rules. � )�nodes)�NodeTransformerc �J � t |� � }|� | � � S )z^The context hint can be used to perform an static optimization based on the context given.)� Optimizer�visit)�node�environment� optimizers �p/builddir/build/BUILD/imunify360-venv-2.6.1/opt/imunify360/venv/lib/python3.11/site-packages/jinja2/optimizer.py�optimizer s# � � �+�&�&�I��?�?�4� � � � c �$ � � e Zd Zd� Z� fd�Z� xZS )r c � � || _ d S )N)r )�selfr s r �__init__zOptimizer.__init__ s � �&����r c �B �� t t | � � j |g|�R i |��}t |t j � � r_ t j � |� |r|d nd � � |j | j �� � S # t j $ r Y nw xY w|S )N� )�linenor )�superr � generic_visit� isinstancer �Expr�Const�from_untrusted�as_constr r � Impossible)r r �args�kwargs� __class__s �r r zOptimizer.generic_visit s� �� �3�u�Y��%�%�3�D�J�4�J�J�J�6�J�J�� �d�E�J�'�'� � ��{�1�1��M�M�T�";�$�q�'�'�t�<�<��;� $� 0� 2� � � �� �#� � � ��� ���� �s �AB � B�B)�__name__� __module__�__qualname__r r � __classcell__)r s @r r r sG �� � � � � �'� '� '�� � � � � � � � r r N)�__doc__� r �visitorr r r � r r �<module>r( sx ��� � � � � � � � $� $� $� $� $� $�!� !� !�� � � � �� � � � � r
.
Edit
..
Edit
__init__.cpython-311.pyc
Edit
_compat.cpython-311.pyc
Edit
_identifier.cpython-311.pyc
Edit
asyncfilters.cpython-311.pyc
Edit
asyncsupport.cpython-311.pyc
Edit
bccache.cpython-311.pyc
Edit
compiler.cpython-311.pyc
Edit
constants.cpython-311.pyc
Edit
debug.cpython-311.pyc
Edit
defaults.cpython-311.pyc
Edit
environment.cpython-311.pyc
Edit
exceptions.cpython-311.pyc
Edit
ext.cpython-311.pyc
Edit
filters.cpython-311.pyc
Edit
idtracking.cpython-311.pyc
Edit
lexer.cpython-311.pyc
Edit
loaders.cpython-311.pyc
Edit
meta.cpython-311.pyc
Edit
nativetypes.cpython-311.pyc
Edit
nodes.cpython-311.pyc
Edit
optimizer.cpython-311.pyc
Edit
parser.cpython-311.pyc
Edit
runtime.cpython-311.pyc
Edit
sandbox.cpython-311.pyc
Edit
tests.cpython-311.pyc
Edit
utils.cpython-311.pyc
Edit
visitor.cpython-311.pyc
Edit