3 \.ã@sVddlmZddlmZddlmZddlmZmZmZm 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}|djƒ}|jtjkr.|j|dƒdS|jdƒ}|dkrDdS|jƒ}t|ƒrndd„|jdd …Dƒ}n d|_ |g}|d}d |krÖ|d jƒ}d|_ t ||ƒ} t | t d ƒƒt |gƒg} |jtj|j| ƒƒn|jt ||ƒƒdS) NÚexcz+Python 3 does not support string exceptionsÚvalcSsg|] }|jƒ‘qS©)Úclone)Ú.0Úcr r ú//usr/lib64/python3.6/lib2to3/fixes/fix_throw.pyú )sz&FixThrow.transform..éÚÚargsÚtbÚwith_tracebackéÿÿÿÿ)ÚsymsrÚtyperÚSTRINGZcannot_convertÚgetr ZchildrenÚprefixrrrrÚreplacerZNodeZpower) ÚselfZnodeZresultsrr r rZ throw_argsrÚeZwith_tbr r rÚ transforms*      zFixThrow.transformN)Ú__name__Ú __module__Ú __qualname__Z BM_compatibleZPATTERNr!r r r rr sr N) rrZpgen2rrZ fixer_utilrrrrr ZBaseFixr r r r rÚ s