o
    Ri                     @   sB   d Z ddlmZ ddlmZmZmZmZmZ G dd dej	Z
dS )zFixer for
              raise E(V).with_traceback(T)
    to:
              from future.utils import raise_
              ...
              raise_(E, V, T)

TODO: FIXME!!

    )
fixer_base)CommaNodeLeaftokensymsc                   @   s   e Zd ZdZdd ZdS )FixRaisez
    raise_stmt< 'raise' (power< name=any [trailer< '(' val=any* ')' >]
        [trailer< '.' 'with_traceback' > trailer< '(' trc=any ')' >] > | any) ['from' chain=any] >c           	      C   s   t  |d|d|d}}}|d}|d ur+| |d |j  |  |d urb|r5|d nttjd}d |_|_ttjd	|	 t
 |	 t
 |	 g}ttj|}|| d S d S )
Nnamevaltrcchainz8explicit exception chaining is not supported in Python 2r   None raise)FIXMEgetwarningprev_siblingremover   r   NAMEprefixcloner   r   r   
raise_stmtreplace)	selfnoderesultsr	   r
   r   r   kidsr    r   U/home/air/SG/back/venv/lib/python3.10/site-packages/libpasteurize/fixes/fix_raise_.py	transform   s    "

zFixRaise.transformN)__name__
__module____qualname__PATTERNr    r   r   r   r   r      s    r   N)__doc__lib2to3r   lib2to3.fixer_utilr   r   r   r   r   BaseFixr   r   r   r   r   <module>   s    