MINI MINI MANI MO
ó
Eģ]c           @   s_   d  Z  d d l m Z d d l m Z d d l m Z m Z m Z d e j f d     YZ	 d S(   s   Fixer for exec.
This converts usages of the exec statement into calls to a built-in
exec() function.
exec code in ns1, ns2 -> exec(code, ns1, ns2)
i   (   t   pytree(   t
   fixer_base(   t   Commat   Namet   Callt   FixExecc           B   s   e  Z e Z d  Z d   Z RS(   sx   
    exec_stmt< 'exec' a=any 'in' b=any [',' c=any] >
    |
    exec_stmt< 'exec' (not atom<'(' [any] ')'>) a=any >
    c         C   sæ   |  j  } | d } | j d  } | j d  } | j   g } d | d _ | d  k	 rx | j t   | j   g  n  | d  k	 r£ | j t   | j   g  n  t t d  | d | j S(   Nt   at   bt   ct    i    u   exect   prefix(	   t   symst   gett   cloneR
   t   Nonet   extendR   R   R   (   t   selft   nodet   resultsR   R   R   R   t   args(    (    s.   /usr/lib64/python2.7/lib2to3/fixes/fix_exec.pyt	   transform   s    	
(   t   __name__t
   __module__t   Truet
   BM_compatiblet   PATTERNR   (    (    (    s.   /usr/lib64/python2.7/lib2to3/fixes/fix_exec.pyR      s   N(
   t   __doc__R	   R    R   t
   fixer_utilR   R   R   t   BaseFixR   (    (    (    s.   /usr/lib64/python2.7/lib2to3/fixes/fix_exec.pyt   <module>
   s   
 OHA YOOOO