�
,�]c @ s� d Z d d l m Z m Z d d l m Z d d l m Z m Z m Z m
Z
m Z m Z d d l
m Z d e j f d � � YZ d S( s� 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)
i����( t pytreet
fixer_base( t token( t Namet Callt is_tuplet Commat Attrt ArgList( t touch_import_topt FixRaisec B s e Z e Z d Z d � Z RS( sB
raise_stmt< 'raise' exc=any [',' val=any [',' tb=any]] >
c C sA | j } | d j � } | j t j k rE d } | j | | � d St | � r� x* t | � r} | j d j d j � } qT Wd | _ n d | k r� | d j � } n d } d | k r�| d j � } t | � rg | j d d !D] } | j � ^ q� } t
| | � } q�| j t j t j f k rKd | _ t
| | g � } q�| j t j k ro| j
d
k roq�t d d | � d | _ | t � | g } | d k r�| t � | g 7} n t
t d � | � Sn | d k rd
| _ t | t d � � t | g � g }
n | g }
t j | j t d � g |
d | j �S( Nt excs+ Python 3 does not support string exceptionsi i u t tbt vali����u u Noneu future.utilsu raise_t t with_tracebacku raiset prefix( t symst clonet typeR t STRINGt cannot_convertR t childrenR t NoneR t NUMBERt NAMEt valueR R R R R R t Nodet
raise_stmt( t selft nodet resultsR R t msgR R
t ct argst exc_list( ( s? /usr/lib/python2.7/site-packages/libfuturize/fixes/fix_raise.pyt transform* sH ) ! ( ( t __name__t
__module__t Truet
BM_compatiblet PATTERNR$ ( ( ( s? /usr/lib/python2.7/site-packages/libfuturize/fixes/fix_raise.pyR
# s N( t __doc__t lib2to3R R t
lib2to3.pgen2R t lib2to3.fixer_utilR R R R R R t libfuturize.fixer_utilR t BaseFixR
( ( ( s? /usr/lib/python2.7/site-packages/libfuturize/fixes/fix_raise.pyt <module> s
.
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]