/usr/lib/python3.9/site-packages/libfuturize/fixes/__pycache__
a �c@ � @ sb d Z ddlmZmZ ddlmZ ddlmZmZm Z m Z mZmZ ddl mZ G dd� dej�ZdS ) a� Fixer for 'raise E, V' From Armin Ronacher's ``python-modernize``. raise -> raise raise E -> raise E raise E, 5 -> raise E(5) raise E, 5, T -> raise E(5).with_traceback(T) raise E, None, T -> raise E.with_traceback(T) raise (((E, E'), E''), E'''), 5 -> raise E(5) raise "foo", V, T -> warns about string exceptions raise E, (V1, V2) -> raise E(V1, V2) raise E, (V1, V2), T -> raise E(V1, V2).with_traceback(T) CAVEATS: 1) "raise E, V, T" cannot be translated safely in general. If V is not a tuple or a (number, string, None) literal, then: raise E, V, T -> from future.utils import raise_ raise_(E, V, T) � )�pytree� fixer_base)�token)�Name�Call�is_tuple�Comma�Attr�ArgList)�touch_import_topc @ s e Zd ZdZdZdd� ZdS )�FixRaiseTzB raise_stmt< 'raise' exc=any [',' val=any [',' tb=any]] > c C s� | j }|d �� }|jtjkr2d}| �||� d S t|�r^t|�rX|jd jd �� }q:d|_d|v rt|d �� }nd }d|v �rB|d �� }t|�r�dd � |jdd � D �}t ||�}n�|jtj tjfv r�d|_t ||g�}nb|jtjkr�|jdkr�nJt d d|� d|_|t� |g}|d u�r.|t� |g7 }t td�||jd�S |d u�rnd|_t|td��t|g�g } n|g} tj|jtd�g| |jd�S )N�excz+Python 3 does not support string exceptions� r � �tb�valc S s g | ]}|� � �qS � )�clone)�.0�cr r �?/usr/lib/python3.9/site-packages/libfuturize/fixes/fix_raise.py� <listcomp>I � z&FixRaise.transform.<locals>.<listcomp>���� �Nonezfuture.utilsZraise_)�prefix�with_traceback�raise)�symsr �typer �STRINGZcannot_convertr Zchildrenr r �NUMBER�NAME�valuer r r r r r ZNodeZ raise_stmt) �selfZnode�resultsr r �msgr r �argsZexc_listr r r � transform* sJ �zFixRaise.transformN)�__name__� __module__�__qualname__Z BM_compatibleZPATTERNr) r r r r r # s r N)�__doc__Zlib2to3r r Z lib2to3.pgen2r Zlib2to3.fixer_utilr r r r r r Zlibfuturize.fixer_utilr ZBaseFixr r r r r �<module> s
.
Edit
..
Edit
__init__.cpython-39.opt-1.pyc
Edit
__init__.cpython-39.pyc
Edit
fix_UserDict.cpython-39.opt-1.pyc
Edit
fix_UserDict.cpython-39.pyc
Edit
fix_absolute_import.cpython-39.opt-1.pyc
Edit
fix_absolute_import.cpython-39.pyc
Edit
fix_add__future__imports_except_unicode_literals.cpython-39.opt-1.pyc
Edit
fix_add__future__imports_except_unicode_literals.cpython-39.pyc
Edit
fix_basestring.cpython-39.opt-1.pyc
Edit
fix_basestring.cpython-39.pyc
Edit
fix_bytes.cpython-39.opt-1.pyc
Edit
fix_bytes.cpython-39.pyc
Edit
fix_cmp.cpython-39.opt-1.pyc
Edit
fix_cmp.cpython-39.pyc
Edit
fix_division.cpython-39.opt-1.pyc
Edit
fix_division.cpython-39.pyc
Edit
fix_division_safe.cpython-39.opt-1.pyc
Edit
fix_division_safe.cpython-39.pyc
Edit
fix_execfile.cpython-39.opt-1.pyc
Edit
fix_execfile.cpython-39.pyc
Edit
fix_future_builtins.cpython-39.opt-1.pyc
Edit
fix_future_builtins.cpython-39.pyc
Edit
fix_future_standard_library.cpython-39.opt-1.pyc
Edit
fix_future_standard_library.cpython-39.pyc
Edit
fix_future_standard_library_urllib.cpython-39.opt-1.pyc
Edit
fix_future_standard_library_urllib.cpython-39.pyc
Edit
fix_input.cpython-39.opt-1.pyc
Edit
fix_input.cpython-39.pyc
Edit
fix_metaclass.cpython-39.opt-1.pyc
Edit
fix_metaclass.cpython-39.pyc
Edit
fix_next_call.cpython-39.opt-1.pyc
Edit
fix_next_call.cpython-39.pyc
Edit
fix_object.cpython-39.opt-1.pyc
Edit
fix_object.cpython-39.pyc
Edit
fix_oldstr_wrap.cpython-39.opt-1.pyc
Edit
fix_oldstr_wrap.cpython-39.pyc
Edit
fix_order___future__imports.cpython-39.opt-1.pyc
Edit
fix_order___future__imports.cpython-39.pyc
Edit
fix_print.cpython-39.opt-1.pyc
Edit
fix_print.cpython-39.pyc
Edit
fix_print_with_import.cpython-39.opt-1.pyc
Edit
fix_print_with_import.cpython-39.pyc
Edit
fix_raise.cpython-39.opt-1.pyc
Edit
fix_raise.cpython-39.pyc
Edit
fix_remove_old__future__imports.cpython-39.opt-1.pyc
Edit
fix_remove_old__future__imports.cpython-39.pyc
Edit
fix_unicode_keep_u.cpython-39.opt-1.pyc
Edit
fix_unicode_keep_u.cpython-39.pyc
Edit
fix_unicode_literals_import.cpython-39.opt-1.pyc
Edit
fix_unicode_literals_import.cpython-39.pyc
Edit
fix_xrange_with_import.cpython-39.opt-1.pyc
Edit
fix_xrange_with_import.cpython-39.pyc
Edit