B � f��@s:dZddlmZddlmZmZmZGdd�dej�ZdS)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) �)� fixer_base)�Comma�Name�Callc@seZdZdZdZdd�ZdS)�FixExecTzx exec_stmt< 'exec' a=any 'in' b=any [',' c=any] > | exec_stmt< 'exec' (not atom<'(' [any] ')'>) a=any > cCs�|j}|d}|�d�}|�d�}|��g}d|d_|dk rR|�t�|��g�|dk rn|�t�|��g�ttd�||jd�S)N�a�b�c���exec)�prefix)�syms�getZcloner �extendrrr)�selfZnodeZresultsrrrr �args�r�;/opt/alt/python37/lib64/python3.7/lib2to3/fixes/fix_exec.py� transforms    zFixExec.transformN)�__name__� __module__� __qualname__Z BM_compatibleZPATTERNrrrrrrsrN) �__doc__r rZ fixer_utilrrrZBaseFixrrrrr� s