o
    iK                     @   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 )z;Fixer for 'raise E(V).with_traceback(T)' -> 'raise E, V, T'    )
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   | d| d| d}}}| d}|d ur)| |d |j  |  |d ur`|r3|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)getwarningZprev_siblingremover   r   NAMEprefixcloner   r   r   
raise_stmtreplace)	selfnoderesultsr	   r
   r   r   Zkidsr    r   l/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    