Hacked By AnonymousFox
��Yf� � @ sy d Z d d l m Z d d l m Z m Z m Z m Z m Z m Z m
Z
m Z m Z m
Z
Gd d � d e j � Z d S)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 Z d Z d Z d Z d d � Z d S)�FixExecfileTz�
power< 'execfile' trailer< '(' arglist< filename=any [',' globals=any [',' locals=any ] ] > ')' > >
|
power< 'execfile' trailer< '(' filename=any ')' > >
c C s� | d } | j d � } | j d � } | j d j d j � } t | j � g d | �} t t j t d � | g � } t t j t � t d � g � t t j t
� t � g � g } | g | }
| j � } d | _ t
d d � } |
t � | t � | g }
t t d
� |
d � } | g } | d k rP| j t � | j � g � | d k rx| j t � | j � g � t t d � | d
| j �S)N�filename�globals�locals� Zrparen�open�read� z'exec'�compile� �exec�prefix���r )�getZchildrenZcloner
r r Zpowerr Ztrailerr r r r r r r �extend)�selfZnodeZresultsr r r Zexecfile_parenZ open_argsZ open_callr Z open_exprZfilename_argZexec_strZcompile_argsZcompile_call�args� r �?/opt/alt/python35/lib64/python3.5/lib2to3/fixes/fix_execfile.py� transform s(
!
zFixExecfile.transformN)�__name__�
__module__�__qualname__Z
BM_compatibleZPATTERNr r r r r r
s r
N)�__doc__r r Z
fixer_utilr r r r r r r r
r r ZBaseFixr
r r r r �<module> s F
Hacked By AnonymousFox1.0, Coded By AnonymousFox