î j féã@s_dZddlmZddlmZddlmZmZmZGdd„dejƒZ dS)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(eZdZdZdZdd„ZdS)ÚFixExecTzx exec_stmt< 'exec' a=any 'in' b=any [',' c=any] > | exec_stmt< 'exec' (not atom<'(' [any] ')'>) a=any > cCs¿|j}|d}|jdƒ}|jdƒ}|jƒg}d|d_|dk rx|jtƒ|jƒgƒn|dk r£|jtƒ|jƒgƒnttdƒ|d|jƒS)NÚaÚbÚcÚéÚexecÚprefix)ÚsymsÚgetZclonerÚextendrrr)ÚselfZnodeZresultsrrr r Úargs©rú;/opt/alt/python34/lib64/python3.4/lib2to3/fixes/fix_exec.pyÚ transforms     zFixExec.transformN)Ú__name__Ú __module__Ú __qualname__Z BM_compatibleZPATTERNrrrrrrs rN) Ú__doc__r rrZ fixer_utilrrrZBaseFixrrrrrÚ s