
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,a
  ã                   @   sJ   d Z ddlmZ ddlmZmZmZmZmZm	Z	m
Z
 G dd„ dejƒZdS )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                   @   s:   e Zd ZdddgZdZdd dd„ eD ƒ¡ Zd	d
„ ZdS )Ú	FixSysExcÚexc_typeÚ	exc_valueÚexc_tracebackTzN
              power< 'sys' trailer< dot='.' attribute=(%s) > >
              ú|c                 c   s   | ]}d | V  qdS )z'%s'N© )Ú.0Úer   r   ú>/opt/alt/python38/lib64/python3.8/lib2to3/fixes/fix_sys_exc.pyÚ	<genexpr>   s     zFixSysExc.<genexpr>c                 C   st   |d d }t | j |j¡ƒ}ttdƒ|jd�}ttdƒ|ƒ}|d j|d jd _| 	t
|ƒ¡ ttj||jd�S )NZ	attributeé    Úexc_info)ÚprefixÚsysÚdoté   )r   r   ÚindexÚvaluer   r   r   r   ZchildrenÚappendr   r   r	   Zpower)ÚselfZnodeZresultsZsys_attrr   ZcallÚattrr   r   r   Ú	transform   s    zFixSysExc.transformN)Ú__name__Ú
__module__Ú__qualname__r   ZBM_compatibleÚjoinZPATTERNr   r   r   r   r   r
      s   
þr
   N)Ú__doc__Ú r   Z
fixer_utilr   r   r   r   r   r   r	   ZBaseFixr
   r   r   r   r   Ú<module>   s   
$