Your IP : 3.141.198.75


Current Path : /opt/alt/python39/lib64/python3.9/lib2to3/fixes/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/lib2to3/fixes/__pycache__/fix_execfile.cpython-39.pyc

a

R�f�@sVdZddlmZddlmZmZmZmZmZm	Z	m
Z
mZmZm
Z
Gdd�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@seZdZdZdZdd�ZdS)�FixExecfileTz�
    power< 'execfile' trailer< '(' arglist< filename=any [',' globals=any [',' locals=any ] ] > ')' > >
    |
    power< 'execfile' trailer< '(' filename=any ')' > >
    cCs.|sJ�|d}|�d�}|�d�}|jdjd��}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}|dur�|�t�|��g�|du�r|�t�|��g�tt	d
�||jd�S)N�filename�globals�locals���z"rb"� )Zrparen�open�readz'exec'�compile��exec)�prefix)�getZchildrenZcloner
rrr	rZpowerrZtrailerrrrrr�extend)�selfZnodeZresultsrrrZexecfile_parenZ	open_argsZ	open_callrZ	open_exprZfilename_argZexec_strZcompile_argsZcompile_call�args�r�?/opt/alt/python39/lib64/python3.9/lib2to3/fixes/fix_execfile.py�	transforms0

��


zFixExecfile.transformN)�__name__�
__module__�__qualname__Z
BM_compatibleZPATTERNrrrrrr
sr
N)�__doc__rrZ
fixer_utilrrrrrrr	r
rrZBaseFixr
rrrr�<module>s0

?>