ó
	Q˜[c           @   s{   d  Z  d d l m Z d d l m Z d d l m Z d d l m	 Z	 m
 Z
 m Z m Z d Z d e j f d „  ƒ  YZ d	 S(
   u?   
Fixer for:
it.__next__() -> it.next().
next(it) -> it.next().
iÿÿÿÿ(   t   token(   t   python_symbols(   t
   fixer_base(   t   Namet   Callt   find_bindingt   Attru;   Calls to builtin next() possibly shadowed by global bindingt   FixNextc           B   s   e  Z d  Z d „  Z RS(   us  
    power< base=any+ trailer< '.' attr='__next__' > any* >
    |
    power< head='next' trailer< '(' arg=any ')' > any* >
    |
    classdef< 'class' base=any+ ':'
              suite< any*
                     funcdef< 'def'
                              attr='__next__'
                              parameters< '(' NAME ')' > any+ >
                     any* > >
    c         C   sÁ   | s t  ‚ | j d ƒ } | j d ƒ } | j d ƒ } | j d ƒ } | r˜ | j ƒ  } | j t t t | ƒ d | j ƒt d ƒ ƒ ƒ | j ƒ  n% | r½ | j t d d | j ƒƒ n  d  S(   Nu   baseu   attru   headu   argt   prefixu   next(	   t   AssertionErrort   gett   clonet   replaceR   R   t   unicodeR   t   remove(   t   selft   nodet   resultst   baset   attrt   headt   arg_t   arg(    (    s;   lib/python2.7/site-packages/libpasteurize/fixes/fix_next.pyt	   transform   s    !(   t   __name__t
   __module__t   PATTERNR   (    (    (    s;   lib/python2.7/site-packages/libpasteurize/fixes/fix_next.pyR      s   N(   t   __doc__t   lib2to3.pgen2R    t   lib2to3.pygramR   t   symst   lib2to3R   t   lib2to3.fixer_utilR   R   R   R   t   bind_warningt   BaseFixR   (    (    (    s;   lib/python2.7/site-packages/libpasteurize/fixes/fix_next.pyt   <module>   s   "