ž zyMa.c@s{dZddlmZddlmZddlmZddlmZmZm Z m Z m Z Gdd„dej ƒZ dS( uÖFixer for generator.throw(E, V, T). g.throw(E) -> g.throw(E) g.throw(E, V) -> g.throw(E(V)) g.throw(E, V, T) -> g.throw(E(V).with_traceback(T)) g.throw("foo"[, V[, T]]) will warn about string exceptions.i(upytree(utoken(u fixer_base(uNameuCalluArgListuAttruis_tuplecBs,|EeZdZdZdZdd„ZdS(uFixThrowuÉ power< any trailer< '.' 'throw' > trailer< '(' args=arglist< exc=any ',' val=any [',' tb=any] > ')' > > | power< any trailer< '.' 'throw' > trailer< '(' exc=any ')' > > c CsG|j}|djƒ}|jtjkr?|j|dƒdS|jdƒ}|dkr^dS|jƒ}t|ƒr™dd„|j dd …Dƒ}nd|_ |g}|d}d |kr-|d jƒ}d|_ t ||ƒ} t | t d ƒƒt|gƒg} |jtj|j| ƒƒn|jt ||ƒƒdS( Nuexcu+Python 3 does not support string exceptionsuvalcSsg|]}|jƒ‘qS((uclone(u.0uc((u</opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_throw.pyu )s u&FixThrow.transform..iuuargsutbuwith_tracebackiÿÿÿÿ(usymsucloneutypeutokenuSTRINGucannot_convertugetuNoneuis_tupleuchildrenuprefixuCalluAttruNameuArgListureplaceupytreeuNodeupower( uselfunodeuresultsusymsuexcuvaluargsu throw_argsutbueuwith_tb((u</opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_throw.pyu transforms*    #     %uFixThrow.transformNT(u__name__u __module__u __qualname__uTrueu BM_compatibleuPATTERNu transform(u __locals__((u</opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_throw.pyuFixThrowsuFixThrowN(u__doc__uupytreeupgen2utokenu fixer_baseu fixer_utiluNameuCalluArgListuAttruis_tupleuBaseFixuFixThrow(((u</opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_throw.pyus (