CasperSecurity

Current Path : /lib/python3.10/lib2to3/fixes/__pycache__/
Upload File :
Current File : //lib/python3.10/lib2to3/fixes/__pycache__/fix_raise.cpython-310.pyc

o

��bcn�@sZdZddlmZddlmZddlmZddlmZmZm	Z	m
Z
mZGdd�dej�Z
dS)	a[Fixer for 'raise E, V, T'

raise         -> raise
raise E       -> raise E
raise E, V    -> raise E(V)
raise E, V, T -> raise E(V).with_traceback(T)
raise E, None, T -> raise E.with_traceback(T)

raise (((E, E'), E''), E'''), V -> raise E(V)
raise "foo", V, T               -> warns about string exceptions


CAVEATS:
1) "raise E, V" will be incorrectly translated if V is an exception
   instance. The correct Python 3 idiom is

        raise E from V

   but since we can't detect instance-hood by syntax alone and since
   any client code would have to be changed as well, we don't automate
   this.
�)�pytree)�token)�
fixer_base)�Name�Call�Attr�ArgList�is_tuplec@seZdZdZdZdd�ZdS)�FixRaiseTzB
    raise_stmt< 'raise' exc=any [',' val=any [',' tb=any]] >
    cCsf|j}|d��}|jtjkrd}|�||�dSt|�r2t|�r/|jdjd��}t|�s!d|_d|vrGt	�
|jtd�|g�}|j|_|S|d��}t|�r^dd	�|jdd
�D�}nd|_|g}d|vr�|d��}	d|	_|}
|jtj
ks~|jd
kr�t||�}
t|
td��t|	g�g}t	�
|jtd�g|�}|j|_|St	j
|jtd�t||�g|jd�S)N�excz+Python 3 does not support string exceptions��� �val�raisecSsg|]}|���qS�)�clone)�.0�crr�./usr/lib/python3.10/lib2to3/fixes/fix_raise.py�
<listcomp>Dsz&FixRaise.transform.<locals>.<listcomp>�����tb�None�with_traceback)�prefix)�symsr�typer�STRING�cannot_convertr	�childrenrr�Node�
raise_stmtr�NAME�valuerrr�simple_stmt)�self�node�resultsrr�msg�newr�argsr�e�with_tbrrr�	transform&sD�
�zFixRaise.transformN)�__name__�
__module__�__qualname__�
BM_compatible�PATTERNr/rrrrr
sr
N)�__doc__rr�pgen2rr�
fixer_utilrrrrr	�BaseFixr
rrrr�<module>s
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY