U
,a
@ sJ d Z ddlmZ ddlmZmZmZmZmZm Z m
Z
G dd dejZdS )zFixer 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)AttrCallNameNumber SubscriptNodesymsc @ s: e Zd ZdddgZdZdddd eD Zd d
ZdS ) FixSysExcexc_type exc_value
exc_tracebackTzN
power< 'sys' trailer< dot='.' attribute=(%s) > >
|c c s | ]}d | V qdS )z'%s'N ).0er r >/opt/alt/python38/lib64/python3.8/lib2to3/fixes/fix_sys_exc.py <genexpr> s zFixSysExc.<genexpr>c C st |d d }t | j|j}ttd|jd}ttd|}|d j|d jd _| t
| ttj
||jdS )NZ attribute exc_info)prefixsysdot )r r indexvaluer r r r Zchildrenappendr r r Zpower)selfZnodeZresultsZsys_attrr Zcallattrr r r transform s zFixSysExc.transformN)__name__
__module____qualname__r Z
BM_compatiblejoinZPATTERNr r r r r r
s
r
N)
__doc__ r Z
fixer_utilr r r r r r r ZBaseFixr
r r r r <module> s
$