î
j fé ã @ 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 rx | j t ƒ | j ƒ g ƒ n | d k r£ | j t ƒ | j ƒ g ƒ n 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/python34/lib64/python3.4/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 Ú