| Server IP : 217.160.0.135 / Your IP : 216.73.217.25 Web Server : Apache System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64 User : sws1074145052 ( 1074145052) PHP Version : 8.3.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /lib/python3/dist-packages/pythran/transformations/__pycache__/ |
Upload File : |
�
cR�a� � �: � d Z ddlmZ ddlZ G d� de� � ZdS )z+ NormalizeException simplifies try blocks. � )�TransformationNc � � e Zd ZdZd� ZdS )�NormalizeExceptiona�
Transform else statement in try except block in nested try except.
>>> import gast as ast
>>> from pythran import passmanager, backend
>>> node = ast.parse("try:print('t')\nexcept: print('x')\nelse: print('e')")
>>> pm = passmanager.PassManager("test")
>>> _, node = pm.apply(NormalizeException, node)
>>> print(pm.dump(backend.Python, node))
try:
print('t')
try:
print('e')
except:
pass
except:
print('x')
c � � |j ri|j � t j |j t j d d t j � � g� � gg g � � � � g |_ d| _ |j r�|j � |j � � |j � t j
d d � � � � d| _ t j |j t j d d |j � � gg g � � }g |_ |S )NT)�orelse�body�append�ast�Try�
ExceptHandler�Pass�update� finalbody�extend�Raise)�self�nodes �M/usr/lib/python3/dist-packages/pythran/transformations/normalize_exception.py� visit_TryzNormalizeException.visit_Try s� � ��;� ��I������K��&�t�T�C�H�J�J�<�@�@�A���� �
�
�
� �D�K��D�K��>� ��I���T�^�,�,�,��N�!�!�#�)�D�$�"7�"7�8�8�8��D�K��7�� ��"�4��t�~�>�>�?��B�� �D� �D�N��� N)�__name__�
__module__�__qualname__�__doc__r � r r r r s- � � � � � �� �*� � � � r r )r �pythran.passmanagerr �gastr
r r r r �<module>r s] �� 1� 1� .� .� .� .� .� .� � � � �*� *� *� *� *�� *� *� *� *� *r