Your IP : 3.137.162.107
��Yf� � @ s_ d Z d d l m Z d d l m Z d d l m Z m Z m Z Gd d � d e j � Z d S)z�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)
� )�pytree)�
fixer_base)�Comma�Name�Callc @ s( e Z d Z d Z d Z d d � Z d S)�FixExecTzx
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 ru | j t � | j � g � | d k r� | j t � | j � g � t t d � | d | j �S)N�a�b�c� � �exec�prefix)�syms�getZcloner �extendr r r )�selfZnodeZresultsr r r r
�args� r �;/opt/alt/python35/lib64/python3.5/lib2to3/fixes/fix_exec.py� transform s
zFixExec.transformN)�__name__�
__module__�__qualname__Z
BM_compatibleZPATTERNr r r r r r s r N)
�__doc__r r r Z
fixer_utilr r r ZBaseFixr r r r r �<module>
s