3
\~ ã @ sR d Z ddlmZ ddlmZ ddlmZ ddlmZmZm Z G dd„ dej
ƒZdS ) zIFixer for apply().
This converts apply(func, v, k) into (func)(*v, **k).é )Úpytree)Útoken)Ú
fixer_base)ÚCallÚCommaÚparenthesizec @ s e Zd ZdZdZdd„ ZdS )ÚFixApplyTa.
power< 'apply'
trailer<
'('
arglist<
(not argument) func=any ','
(not argument) args=any [','
(not argument) kwds=any] [',']
>
')'
>
>
c C sF | j }|st‚|d }|d }|jdƒ}|r`|j| j jkr>d S |j| j jkr`|jd jdkr`d S |r†|j| j jkr†|jd jdkr†d S |j}|j ƒ }|jt
j|jfkrÌ|j|j
ksÄ|jd jt
jkrÌt|ƒ}d|_|j ƒ }d|_|d k rö|j ƒ }d|_tjt
jdƒ|g}|d k �r8|jtƒ tjt
jdƒ|gƒ d |d _t|||d
�S )
NÚfuncÚargsÚkwdsé z**r Ú Ú*ú )Úprefixéþÿÿÿr )ÚsymsÚAssertionErrorÚgetÚtypeZ star_exprZargumentZchildrenÚvaluer Zcloner ÚNAMEZatomZpowerÚ
DOUBLESTARr r ZLeafÚSTARÚextendr r ) ÚselfZnodeZresultsr r r
r r Z l_newargs© r ú//usr/lib64/python3.6/lib2to3/fixes/fix_apply.pyÚ transform sB
zFixApply.transformN)Ú__name__Ú
__module__Ú__qualname__Z
BM_compatibleZPATTERNr r r r r r s r N)Ú__doc__r
r Zpgen2r r Z
fixer_utilr r r ZBaseFixr r r r r Ú s