ðÕYfÆ ã @ sy d Z d d l m Z d d l m Z m Z m Z m Z m Z m Z m
Z
m Z m Z m
Z
Gd d „ d e j ƒ Z d S)zoFixer for execfile.
This converts usages of the execfile function into calls to the built-in
exec() function.
é )Ú
fixer_base)
ÚCommaÚNameÚCallÚLParenÚRParenÚDotÚNodeÚArgListÚStringÚsymsc @ s( e Z d Z d Z d Z d d „ Z d S)ÚFixExecfileTz«
power< 'execfile' trailer< '(' arglist< filename=any [',' globals=any [',' locals=any ] ] > ')' > >
|
power< 'execfile' trailer< '(' filename=any ')' > >
c C s” | d } | j d ƒ } | j d ƒ } | j d j d j ƒ } t | j ƒ g d | ƒ} t t j t d ƒ | g ƒ } t t j t ƒ t d ƒ g ƒ t t j t
ƒ t ƒ g ƒ g } | g | }
| j ƒ } d | _ t
d d ƒ } |
t ƒ | t ƒ | g }
t t d
ƒ |
d ƒ } | g } | d k rP| j t ƒ | j ƒ g ƒ | d k rx| j t ƒ | j ƒ g ƒ t t d ƒ | d
| j ƒS)NÚfilenameÚglobalsÚlocalsé ZrparenÚopenÚreadú z'exec'ÚcompileÚ ÚexecÚprefixéÿÿÿÿr )ÚgetZchildrenZcloner
r r Zpowerr Ztrailerr r r r r r r Úextend)ÚselfZnodeZresultsr r r Zexecfile_parenZ open_argsZ open_callr Z open_exprZfilename_argZexec_strZcompile_argsZcompile_callÚargs© r ú?/opt/alt/python35/lib64/python3.5/lib2to3/fixes/fix_execfile.pyÚ transform s(
!
zFixExecfile.transformN)Ú__name__Ú
__module__Ú__qualname__Z
BM_compatibleZPATTERNr r r r r r
s r
N)Ú__doc__r r Z
fixer_utilr r r r r r r r
r r ZBaseFixr
r r r r Ú