
    daf
                     b    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ej                        Zy)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)AttrCallNameNumber	SubscriptNodesymsc                   T    e Zd Zg dZdZddj                  d eD              z  Zd Zy)	FixSysExc)exc_type	exc_valueexc_tracebackTzN
              power< 'sys' trailer< dot='.' attribute=(%s) > >
              |c              #   &   K   | ]	  }d |z    yw)z'%s'N ).0es     4/root/Python-3.12.4/Lib/lib2to3/fixes/fix_sys_exc.py	<genexpr>zFixSysExc.<genexpr>   s     :AVaZ:s   c                    |d   d   }t        | j                  j                  |j                              }t	        t        d      |j                        }t        t        d      |      }|d   j                  |d   j                  d   _        |j                  t        |             t        t        j                  ||j                        S )N	attribute    exc_info)prefixsysdot   )r   r   indexvaluer   r   r   r   childrenappendr   r	   r
   power)selfnoderesultssys_attrr   callattrs          r   	transformzFixSysExc.transform   s    ;'*t}}**8>>:;D$X__=DK&%,U^%:%:Q"Ie$%DJJT[[99    N)__name__
__module____qualname__r   BM_compatiblejoinPATTERNr*   r   r+   r   r   r      s/    9HMHH:::;G:r+   r   N)__doc__ r   
fixer_utilr   r   r   r   r   r	   r
   BaseFixr   r   r+   r   <module>r6      s*     H H H:
"" :r+   