o bc* @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 Cs2|j}|sJ|d}|d}|d}|r'|j|jjkr'|jdjdvr'dS|r:|j|jjkr:|jdjdkr:dS|j}|}|jtj |j fvr]|j|j ksY|jdjtj kr]t |}d|_|}d|_|durr|}d|_ttjd |g}|dur|tttj d|gd |d_t|||d S) Nfuncargskwds>***rr  )prefix)symsgettypeargumentchildrenvaluerclonerNAMEatompower DOUBLESTARrrLeafSTARextendrr) selfnoderesultsrr r r r l_newargsr%./usr/lib/python3.10/lib2to3/fixes/fix_apply.py transforms@    zFixApply.transformN)__name__ __module__ __qualname__ BM_compatiblePATTERNr'r%r%r%r&rs rN) __doc__rrpgen2rr fixer_utilrrrBaseFixrr%r%r%r&s