3
+��hC � @ sN d Z ddlmZ ddlmZmZ ddlmZ ddlm Z G dd� dej
�ZdS ) zAFixer for 'g.throw(E(V).with_traceback(T))' -> 'g.throw(E, V, T)'� )�
fixer_base)�Node�Leaf)�token)�Commac @ s e Zd ZdZdd� ZdS )�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
ttjd�}d |_|_|j� t� |j� t� |j� g}|d }||_d S )N�exc�val�trcr �None� �args)�symsr r �NAME�prefix�cloner �children) �self�node�resultsr r r r
Zkidsr
� r �D/root/tmp/pip-build-yeh9mt8d/future/libpasteurize/fixes/fix_throw.py� transform s zFixThrow.transformN)�__name__�
__module__�__qualname__ZPATTERNr r r r r r s r N)�__doc__Zlib2to3r Zlib2to3.pytreer r Z
lib2to3.pgen2r Zlib2to3.fixer_utilr ZBaseFixr r r r r �<module> s
|