3 \~ @sRdZddlmZddlmZddlmZddlmZmZm Z Gdddej Z dS) zIFixer for apply(). This converts apply(func, v, k) into (func)(*v, **k).)pytree)token) fixer_base)CallComma parenthesizec@seZdZdZdZddZdS)FixApplyTa. power< 'apply' trailer< '(' arglist< (not argument ')' > > c Cs>|j}|d}|d}|jd}|rX|j|jjkr6dS|j|jjkrX|jdjdkrXdS|r~|j|jjkr~|jdjdkr~dS|j}|j}|jt j |j fkr|j|j ks|jd jt j krt|}d|_|j}d|_|dk r|j}d|_tjt jd|g}|dk r0|jttjt j d|gd |d _t|||d S) Nfuncargskwdsz**r* )prefixr)symsgettypeZ star_exprZargumentZchildrenvaluerZclonerNAMEZatomZpower DOUBLESTARrrZLeafSTARextendrr) selfZnodeZresultsrr r r rZ l_newargsr//usr/lib64/python3.6/lib2to3/fixes/fix_apply.py transforms@     zFixApply.transformN)__name__ __module__ __qualname__Z BM_compatibleZPATTERNrrrrrrsrN) __doc__r rZpgen2rrZ fixer_utilrrrZBaseFixrrrrrs