o
    [ªRhC  ã                   @   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
   Úkidsr   © r   ú_/home/air/sanwanet/backup_V2/venv/lib/python3.10/site-packages/libpasteurize/fixes/fix_throw.pyÚ	transform   s   
zFixThrow.transformN)Ú__name__Ú
__module__Ú__qualname__ÚPATTERNr   r   r   r   r   r      s    r   N)Ú__doc__Úlib2to3r   Úlib2to3.pytreer   r   Úlib2to3.pgen2r   Úlib2to3.fixer_utilr   ÚBaseFixr   r   r   r   r   Ú<module>   s    