MINI MINI MANI MO
3
  \                  @   sR   d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
mZmZ G dd dej
ZdS )   )
fixer_base)
CommaNameCallLParenRParenDotNodeArgListStringsymsc               @   s   e Zd ZdZdZdd ZdS )FixExecfileTz
    power< 'execfile' trailer< '(' arglist< filename=any [',' globals=any [',' locals=any ] ] > ')' > >
    |
    power< 'execfile' trailer< '(' filename=any ')' > >
    c             C   s&  |d }|j d}|j d}|jd jd j }t|j t tddg|d}ttjt	d|g}ttj
t t	d	gttj
t t
 gg}	|g|	 }
|j }d|_td
d}|
t |t |g }
tt	d|
d}|g}|d k	r|jt |j g |d k	r|jt |j g tt	d
||jdS )Nfilenameglobalslocals   z"rb" )Zrparenopenreadz'exec'compile exec)prefixr   )getZchildrenZcloner
   r   r   r	   r   Zpowerr   Ztrailerr   r   r   r   r   extend)selfZnodeZresultsr   r   r   Zexecfile_parenZ	open_argsZ	open_callr   Z	open_exprZfilename_argZexec_strZcompile_argsZcompile_callargs r   2/usr/lib64/python3.6/lib2to3/fixes/fix_execfile.py	transform   s*    
zFixExecfile.transformN)__name__
__module____qualname__Z
BM_compatibleZPATTERNr    r   r   r   r   r
      s   r
   N)r   r   Z
fixer_utilr   r   r   r   r   r   r	   r
   r   r   ZBaseFixr
   r   r   r   r   <module>
   s   0
 OHA YOOOO