ž zyMaéc@s_dZddlmZddlmZddlmZmZmZGdd„dejƒZ dS(u•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(upytree(u fixer_base(uCommauNameuCallcBs,|EeZdZdZdZdd„ZdS(uFixExecux exec_stmt< 'exec' a=any 'in' b=any [',' c=any] > | exec_stmt< 'exec' (not atom<'(' [any] ')'>) a=any > cCsË|s t‚|j}|d}|jdƒ}|jdƒ}|jƒg}d|d_|dk r„|jtƒ|jƒgƒn|dk r¯|jtƒ|jƒgƒntt dƒ|d|jƒS(Nuaubucuiuexecuprefix( uAssertionErrorusymsugetucloneuprefixuNoneuextenduCommauCalluName(uselfunodeuresultsusymsuaubucuargs((u;/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_exec.pyu transforms      uFixExec.transformNT(u__name__u __module__u __qualname__uTrueu BM_compatibleuPATTERNu transform(u __locals__((u;/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_exec.pyuFixExecsuFixExecN( u__doc__uupytreeu fixer_baseu fixer_utiluCommauNameuCalluBaseFixuFixExec(((u;/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_exec.pyu s