Spade
Mini Shell
| Directory:~$ /proc/self/root/usr/lib64/python3.6/lib2to3/fixes/__pycache__/ |
| [Home] [System Details] [Kill Me] |
3
\.�@sZdZddlmZddlmZddlmZddlmZmZm Z m
Z
mZGdd�dej�Z
dS) z�Fixer for generator.throw(E, V, T).
g.throw(E) -> g.throw(E)
g.throw(E, V) -> g.throw(E(V))
g.throw(E, V, T) -> g.throw(E(V).with_traceback(T))
g.throw("foo"[, V[, T]]) will warn about string
exceptions.�)�pytree)�token)�
fixer_base)�Name�Call�ArgList�Attr�is_tuplec@seZdZdZdZdd�ZdS)�FixThrowTz�
power< any trailer< '.' 'throw' >
trailer< '(' args=arglist< exc=any ','
val=any [',' tb=any] > ')' >
>
|
power< any trailer< '.' 'throw' >
trailer< '(' exc=any ')' > >
cCs�|j}|dj�}|jtjkr.|j|d�dS|jd�}|dkrDdS|j�}t|�rndd�|jdd�D�}nd|_ |g}|d}d |kr�|d j�}d|_ t
||�} t| td
��t
|g�g}
|jtj|j|
��n|jt
||��dS)N�excz+Python 3 does not support string
exceptions�valcSsg|]}|j��qS�)�clone)�.0�cr
r
�!/usr/lib64/python3.6/fix_throw.py�
<listcomp>)sz&FixThrow.transform.<locals>.<listcomp>���args�tb�with_traceback���)�symsr�typer�STRINGZcannot_convert�getr Zchildren�prefixrrrr�replacerZNodeZpower)�selfZnode�resultsrrrrZ
throw_argsr�eZwith_tbr
r
r� transforms*
zFixThrow.transformN)�__name__�
__module__�__qualname__Z
BM_compatibleZPATTERNr"r
r
r
rr
sr
N)�__doc__rrZpgen2rrZ
fixer_utilrrrrr ZBaseFixr
r
r
r
r�<module>s