ó
	Q[c           @   s[   d  Z  d d l m Z d d l m Z m Z m Z m Z m Z d e j	 f d     YZ
 d S(   uĞ   Fixer for
              raise E(V).with_traceback(T)
    to:
              from future.utils import raise_
              ...
              raise_(E, V, T)

TODO: FIXME!!

i˙˙˙˙(   t
   fixer_base(   t   Commat   Nodet   Leaft   tokent   symst   FixRaisec           B   s   e  Z d  Z d   Z RS(   uŞ   
    raise_stmt< 'raise' (power< name=any [trailer< '(' val=any* ')' >]
        [trailer< '.' 'with_traceback' > trailer< '(' trc=any ')' >] > | any) ['from' chain=any] >c   	      C   s  t  | j d  | j d  | j d  } } } | j d  } | d  k	 rx |  j | d  | j j   | j   n  | d  k	 r| r | d n t t j d  } d | _	 | _	 t t j d	  | j
   t   | j
   t   | j
   g } t t j |  } | j |  n  d  S(
   Nu   nameu   valu   trcu   chainu8   explicit exception chaining is not supported in Python 2i    u   Noneu    u   raise(   t   FIXMEt   gett   Nonet   warningt   prev_siblingt   removeR   R   t   NAMEt   prefixt   cloneR   R   R   t
   raise_stmtt   replace(	   t   selft   nodet   resultst   namet   valt   trct   chaint   kidsR   (    (    s=   lib/python2.7/site-packages/libpasteurize/fixes/fix_raise_.pyt	   transform   s    /"(   t   __name__t
   __module__t   PATTERNR   (    (    (    s=   lib/python2.7/site-packages/libpasteurize/fixes/fix_raise_.pyR      s   N(   t   __doc__t   lib2to3R    t   lib2to3.fixer_utilR   R   R   R   R   t   BaseFixR   (    (    (    s=   lib/python2.7/site-packages/libpasteurize/fixes/fix_raise_.pyt   <module>
   s   (