o !Qçd.ã@sX ddlmZddlmZddlmZddlmZmZmZm Z m Z Gdd„dej ƒZ dS)é)Úpytree)Útoken)Ú fixer_base)ÚNameÚCallÚArgListÚAttrÚis_tuplec@seZdZdZdZdd„ZdS)ÚFixThrowTzÉ power< any trailer< '.' 'throw' > trailer< '(' args=arglist< exc=any ',' val=any [',' tb=any] > ')' > > | power< any trailer< '.' 'throw' > trailer< '(' exc=any ')' > > c Csì|j}|d ¡}|jtjur| |d¡dS| d¡}|dur"dS| ¡}t|ƒr7dd„|jdd…Dƒ}nd|_ |g}|d }d |vrl|d  ¡}d|_ t ||ƒ} t | t d ƒƒt |gƒg} | t |j| ¡¡dS| t ||ƒ¡dS) NÚexcz+Python 3 does not support string exceptionsÚvalcSsg|]}| ¡‘qS©)Úclone)Ú.0Úcr r ú>/opt/alt/python310/lib64/python3.10/lib2to3/fixes/fix_throw.pyÚ )sz&FixThrow.transform..ééÿÿÿÿÚÚargsÚtbÚwith_traceback)ÚsymsrÚtyperÚSTRINGZcannot_convertÚgetr ÚchildrenÚprefixrrrrÚreplacerZNodeZpower) ÚselfZnodeZresultsrr r rZ throw_argsrÚeZwith_tbr r rÚ transforms*      zFixThrow.transformN)Ú__name__Ú __module__Ú __qualname__Z BM_compatibleZPATTERNr"r r r rr s r N) rrZpgen2rrZ fixer_utilrrrrr ZBaseFixr r r r rÚs