3 \~ ã@sRdZddlmZddlmZddlmZddlmZmZm Z Gdd„dej ƒZ dS) zIFixer for apply(). This converts apply(func, v, k) into (func)(*v, **k).é)Úpytree)Útoken)Ú fixer_base)ÚCallÚCommaÚ parenthesizec@seZdZdZdZdd„ZdS)ÚFixApplyTa. power< 'apply' trailer< '(' arglist< (not argument ')' > > c CsF|j}|st‚|d}|d}|jdƒ}|r`|j|jjkr>dS|j|jjkr`|jdjdkr`dS|r†|j|jjkr†|jdjdkr†dS|j}|j ƒ}|jt j |j fkrÌ|j|j ksÄ|jd jt jkrÌt|ƒ}d|_|j ƒ}d|_|dk rö|j ƒ}d|_tjt jdƒ|g}|dk �r8|jtƒtjt jdƒ|gƒd |d _t|||d �S) NÚfuncÚargsÚkwdséz**rÚÚ*ú )Úprefixéþÿÿÿr)ÚsymsÚAssertionErrorÚgetÚtypeZ star_exprZargumentZchildrenÚvaluerZclonerÚNAMEZatomZpowerÚ DOUBLESTARrrZLeafÚSTARÚextendrr) ÚselfZnodeZresultsrr r r rZ l_newargs©rú//usr/lib64/python3.6/lib2to3/fixes/fix_apply.pyÚ transformsB     zFixApply.transformN)Ú__name__Ú __module__Ú __qualname__Z BM_compatibleZPATTERNrrrrrrsrN) Ú__doc__r rZpgen2rrZ fixer_utilrrrZBaseFixrrrrrÚs