U
e5d* @ 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 s4 | j }|st|d }|d }|d}|rN|j| j jkrN|jd jdkrNd S |rt|j| j jkrt|jd jdkrtd S |j}| }|jt j
|jfkr|j|jks|jd jt j
krt|}d|_| }d|_|d k r| }d|_tt jd |g}|d k r&|t tt j
d|g d
|d _t|||dS )Nfuncargskwds > ***r
r )prefix)symsAssertionErrorgettypeZargumentZchildrenvaluer Zcloner NAMEZatomZpower
DOUBLESTARr r ZLeafSTARextendr r ) selfZnodeZresultsr r r
r r Z l_newargs r //usr/lib64/python3.8/lib2to3/fixes/fix_apply.py transform sH
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