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)zFixer 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)CommaNameCallc @ 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)Nabc execprefix)symsgetZcloner 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