o
    i                     @   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warningZprev_siblingremover   r   NAMEprefixcloner   r   r   
raise_stmtreplace)	selfnoderesultsr	   r
   r   r   Zkidsr    r   m/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/libpasteurize/fixes/fix_raise_.py	transform   s    "

zFixRaise.transformN)__name__
__module____qualname__ZPATTERNr   r   r   r   r   r      s    r   N)__doc__Zlib2to3r   Zlib2to3.fixer_utilr   r   r   r   r   ZBaseFixr   r   r   r   r   <module>   s    