Your IP : 18.117.72.244
�
c��f � �l � d Z ddlmZ ddlmZmZmZmZmZm Z m
Z
mZmZm
Z
G d� dej � � ZdS )zoFixer for execfile.
This converts usages of the execfile function into calls to the built-in
exec() function.
� )�
fixer_base)
�Comma�Name�Call�LParen�RParen�Dot�Node�ArgList�String�symsc � � e Zd ZdZdZd� ZdS )�FixExecfileTz�
power< 'execfile' trailer< '(' arglist< filename=any [',' globals=any [',' locals=any ] ] > ')' > >
|
power< 'execfile' trailer< '(' filename=any ')' > >
c �p � |sJ �|d }|� d� � }|� d� � }|j d j d � � � }t |� � � t � � t dd� � g|�� � }t
t j t d� � |g� � }t
t j
t � � t d � � g� � t
t j
t � � t � � g� � g} |g| z }
|� � � }d|_ t d
d� � }|
t � � |t � � |gz }
t t d� � |
d� � }|g}|�5|� t � � |� � � g� � |�5|� t � � |� � � g� � t t d
� � ||j �� � S )N�filename�globals�locals���z"rb"� )�rparen�open�readz'exec'�compile� �exec)�prefix)�get�children�cloner r r r
r
�powerr �trailerr r r r r �extend)�self�node�resultsr r r �execfile_paren� open_args� open_callr � open_expr�filename_arg�exec_str�compile_args�compile_call�argss �A/opt/alt/python311/lib64/python3.11/lib2to3/fixes/fix_execfile.py� transformzFixExecfile.transform s� � ����w��:�&���+�+�i�(�(�����X�&�&�� ��r�*�3�B�7�=�=�?�?���X�^�^�-�-�u�w�w��v�s�8K�8K�L�#1�3� 3� 3� ����d�6�l�l�I�%>�?�?� ��T�\�C�E�E�4��<�<�#8�9�9��T�\�F�H�H�f�h�h�#7�8�8�:���K�$�&� � �~�~�'�'��!����(�C�(�(�� �E�G�G�\�5�7�7�H�#M�M���D��O�O�\�2�>�>���~�����K�K����'�-�-�/�/�2�3�3�3����K�K����&�,�,�.�.�1�2�2�2��D��L�L�$�t�{�;�;�;�;� N)�__name__�
__module__�__qualname__�
BM_compatible�PATTERNr0 � r1 r/ r r s/ � � � � � ��M��G�<� <� <� <� <r1 r N)�__doc__r r �
fixer_utilr r r r r r r
r r r
�BaseFixr r7 r1 r/ �<module>r; s� ��� � � � � � � �1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1�&<� &<� &<� &<� &<�*�$� &<� &<� &<� &<� &<r1