î j f ã@sgdZddlmZddlmZmZmZmZmZm Z m Z Gdd„dej ƒZ dS)z˜Fixer for sys.exc_{type, value, traceback} sys.exc_type -> sys.exc_info()[0] sys.exc_value -> sys.exc_info()[1] sys.exc_traceback -> sys.exc_info()[2] é)Ú fixer_base)ÚAttrÚCallÚNameÚNumberÚ SubscriptÚNodeÚsymsc@sQeZdZdddgZdZddjdd„eDƒƒZd d „Zd S) Ú FixSysExcÚexc_typeÚ exc_valueÚ exc_tracebackTzN power< 'sys' trailer< dot='.' attribute=(%s) > > ú|ccs|]}d|VqdS)z'%s'N©)Ú.0Úerrú>/opt/alt/python34/lib64/python3.4/lib2to3/fixes/fix_sys_exc.pyú szFixSysExc.cCs |dd}t|jj|jƒƒ}ttdƒd|jƒ}ttdƒ|ƒ}|dj|djd_|j t |ƒƒt t j |d|jƒS)NZ attributeéÚexc_infoÚprefixÚsysÚdoté)rrÚindexÚvaluerrrrZchildrenÚappendrrr Zpower)ÚselfZnodeZresultsZsys_attrrÚcallÚattrrrrÚ transformszFixSysExc.transformN)Ú__name__Ú __module__Ú __qualname__rZ BM_compatibleÚjoinZPATTERNr rrrrr s  r N) Ú__doc__ÚrZ fixer_utilrrrrrrr ZBaseFixr rrrrÚs4