Your IP : 52.15.233.83


Current Path : /opt/alt/python38/lib64/python3.8/lib2to3/fixes/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/lib2to3/fixes/__pycache__/fix_execfile.cpython-38.pyc

U

i�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.|st�|d}|�d�}|�d�}|jdjd��}t|��t�tdd�g|d�}ttj	t
d�|g�}ttjt�t
d	�g�ttjt
�t�g�g}	|g|	}
|��}d|_td
d�}|
t�|t�|g}
tt
d�|
d�}|g}|dk	r�|�t�|��g�|dk	�r|�t�|��g�tt
d
�||jd�S)N�filename�globals�locals���z"rb"� )Zrparen�open�readz'exec'�compile��exec)�prefix)�AssertionError�getZchildrenZcloner
rrr	rZpowerrZtrailerrrrrr�extend)�selfZnodeZresultsrrrZexecfile_parenZ	open_argsZ	open_callrZ	open_exprZfilename_argZexec_strZcompile_argsZcompile_call�args�r�?/opt/alt/python38/lib64/python3.8/lib2to3/fixes/fix_execfile.py�	transforms0

��


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

?>