Your IP : 3.144.117.52


Current Path : /opt/alt/python36/lib64/python3.6/lib2to3/fixes/__pycache__/
Upload File :
Current File : //opt/alt/python36/lib64/python3.6/lib2to3/fixes/__pycache__/fix_execfile.cpython-36.pyc

3

� 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 ')' > >
    cCs0|st�|d}|jd�}|jd�}|jdjdj�}t|j�t�tdd�g|d�}ttj	t
d�|g�}ttjt�t
d	�g�ttjt
�t�g�g}	|g|	}
|j�}d|_td
d�}|
t�|t�|g}
tt
d�|
d�}|g}|dk	�r�|jt�|j�g�|dk	�r|jt�|j�g�tt
d
�||jd�S)N�filename�globals�locals�z"rb"� )Zrparen�open�readz'exec'�compile��exec)�prefix���r)�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/python36/lib64/python3.6/lib2to3/fixes/fix_execfile.py�	transforms,





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

?>