a
    Xä%bC  ã                   @   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   úm/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/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
   