o
bc @ s: d Z ddlmZ ddlmZmZmZ G dd dejZdS )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)
)
fixer_base)CommaNameCallc @ s e Zd ZdZdZdd ZdS )FixExecTzx
exec_stmt< 'exec' a=any 'in' b=any [',' c=any] >
|
exec_stmt< 'exec' (not atom<'(' [any] ')'>) a=any >
c C s |sJ | j }|d }|d}|d}| g}d|d _|d ur-|t | g |d ur;|t | g ttd||jdS )Nabc exec)prefix)symsgetcloner
extendr r r )selfnoderesultsr r r r args r -/usr/lib/python3.10/lib2to3/fixes/fix_exec.py transform s
zFixExec.transformN)__name__
__module____qualname__
BM_compatiblePATTERNr r r r r r s r N) __doc__r
r
fixer_utilr r r BaseFixr r r r r