й¼]n ã@suddlmZddlmZddlmZddlmZmZmZm Z m Z Gdd„dej ƒZ dS)é)Úpytree)Útoken)Ú fixer_base)ÚNameÚCallÚAttrÚArgListÚis_tuplec@s(eZdZdZdZdd„ZdS)ÚFixRaiseTzB raise_stmt< 'raise' exc=any [',' val=any [',' tb=any]] > c Csü|j}|djƒ}|jtjkrEd}|j||ƒdSt|ƒr‡x*t|ƒr}|jdjdjƒ}qTWd|_d|krÄt j |j t dƒ|gƒ}|j|_|S|djƒ}t|ƒrdd „|jdd…Dƒ}nd |_|g}d |krÇ|d jƒ} d | _|} |jtj ksa|jd krpt||ƒ} t| t d ƒƒt| gƒg} t j |jt dƒg| ƒ}|j|_|St j |j t dƒt||ƒgd|jƒSdS)NÚexcz+Python 3 does not support string exceptionsééú ÚvalÚraisecSsg|]}|jƒ‘qS©)Úclone)Ú.0Úcrrú./opt/alt/python35/lib64/python3.5/fix_raise.pyú Ds z&FixRaise.transform..ÚÚtbÚNoneÚwith_tracebackÚprefixéÿÿÿÿ)ÚsymsrÚtyperÚSTRINGZcannot_convertr ZchildrenrrZNodeZ raise_stmtrÚNAMEÚvaluerrrZ simple_stmt) ÚselfZnodeÚresultsrr ÚmsgÚnewrÚargsrÚeZwith_tbrrrÚ transform&s@    !  #    !%"  zFixRaise.transformN)Ú__name__Ú __module__Ú __qualname__Z BM_compatibleZPATTERNr(rrrrr s r N) rrZpgen2rrZ fixer_utilrrrrr ZBaseFixr rrrrÚs(