U
    h                     @   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 k	rV| |d |j  |  |d k	r|rj|d n
ttjd}d |_|_ttjd	|	 t
 |	 t
 |	 g}ttj|}|| 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   P/var/www/html/venv/lib/python3.8/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   