Current File : //snap/core22/current/usr/lib/python3.10/lib2to3/fixes/__pycache__/fix_execfile.cpython-310.pyc |
o
��bc � @ sV d Z ddlmZ ddlmZmZmZmZmZm Z m
Z
mZmZm
Z
G dd� 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 @ s e Zd ZdZdZdd� ZdS )�FixExecfileTz�
power< 'execfile' trailer< '(' arglist< filename=any [',' globals=any [',' locals=any ] ] > ')' > >
|
power< 'execfile' trailer< '(' filename=any ')' > >
c C s, |sJ �|d }|� d�}|� d�}|jd jd �� }t|�� t� tdd�g|d�}ttjt d�|g�}ttj
t� t d �g�ttj
t� t
� g�g} |g| }
|�� }d|_td
d�}|
t� |t� |g }
tt d�|
d�}|g}|d ur~|�t� |�� g� |d ur�|�t� |�� g� tt d
�||jd�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�args� r, �1/usr/lib/python3.10/lib2to3/fixes/fix_execfile.py� transform s0
��
zFixExecfile.transformN)�__name__�
__module__�__qualname__�
BM_compatible�PATTERNr. r, r, r, r- r
s r
N)�__doc__r r �
fixer_utilr r r r r r r r
r r �BaseFixr
r, r, r, r- �<module> s 0