3
f~ @ 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)CallCommaparenthesizec @ 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 jdkrd S |j}|j }|jt
j|jfkr|j|j
ks|jd jt
jkrt|}d|_|j }d|_|d k r|j }d|_tjt
jd|g}|d k r8|jt tjt
jd|g d |d _t|||d
S )
Nfuncargskwds z**r * )prefixr )symsAssertionErrorgettypeZ star_exprZargumentZchildrenvaluer Zcloner NAMEZatomZpower
DOUBLESTARr r ZLeafSTARextendr r ) selfZnodeZresultsr r r
r r Z l_newargs r