U
    hC                     @   sN   d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	 G dd dej
ZdS )	zAFixer for 'g.throw(E(V).with_traceback(T))' -> 'g.throw(E, V, T)'    )
fixer_base)NodeLeaf)token)Commac                   @   s   e Zd ZdZdd ZdS )FixThrowz
    power< any trailer< '.' 'throw' >
        trailer< '(' args=power< exc=any trailer< '(' val=any* ')' >
        trailer< '.' 'with_traceback' > trailer< '(' trc=any ')' > > ')' > >
    c           	      C   sv   | j }|d |d |d   }}}|r.|d n
ttjd}d |_|_| t | t | g}|d }||_d S )Nexcvaltrcr   None args)symsr   r   NAMEprefixcloner   children)	selfnoderesultsr   r   r	   r
   Zkidsr    r   O/var/www/html/venv/lib/python3.8/site-packages/libpasteurize/fixes/fix_throw.py	transform   s    zFixThrow.transformN)__name__
__module____qualname__ZPATTERNr   r   r   r   r   r      s   r   N)__doc__Zlib2to3r   Zlib2to3.pytreer   r   Zlib2to3.pgen2r   Zlib2to3.fixer_utilr   ZBaseFixr   r   r   r   r   <module>   s
   