£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

i ff                 @   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 d Z Gd d   d e j  Z d	 d
   Z d d   Z d d   Z d S)z.Fixer for it.next() -> next(it), per PEP 3114.   )token)python_symbols)
fixer_base)NameCallfind_bindingz;Calls to builtin next() possibly shadowed by global bindingc                   s@   e  Z d  Z d Z d Z d Z   f d d   Z d d   Z   S)FixNextTa  
    power< base=any+ trailer< '.' attr='next' > trailer< '(' ')' > >
    |
    power< head=any+ trailer< '.' attr='next' > not trailer< '(' ')' > >
    |
    classdef< 'class' any+ ':'
              suite< any*
                     funcdef< 'def'
                              name='next'
                              parameters< '(' NAME ')' > any+ >
                     any* > >
    |
    global=global_stmt< 'global' any* 'next' any* >
    Zprec                sW   t  t |   j | |  t d |  } | rJ |  j | t  d |  _ n	 d |  _ d  S)NnextTF)superr   
start_treer   warningbind_warningshadowed_next)selfZtreefilenamen)	__class__ ;/opt/alt/python34/lib64/python3.4/lib2to3/fixes/fix_next.pyr   $   s    zFixNext.start_treec             C   sk  | j  d  } | j  d  } | j  d  } | r |  j r[ | j t d d | j  qgd d   | D } d | d	 _ | j t t d
 d | j |   n | r t d d | j } | j |  n | r?t |  r)| d } d j d d   | D  j   d k r%|  j	 | t
  n  d  S| j t d   n( d | k rg|  j	 | t
  d |  _ n  d  S)Nbaseattrname__next__prefixc             S   s   g  |  ] } | j     q Sr   )Zclone).0r   r   r   r   
<listcomp>9   s   	 z%FixNext.transform.<locals>.<listcomp>     r	   headc             S   s   g  |  ] } t  |   q Sr   )str)r   r   r   r   r   r   E   s   	 Z__builtin__globalT)getr   replacer   r   r   is_assign_targetjoinstripr   r   )r   nodeZresultsr   r   r   r   r   r   r   r   	transform.   s,    	(
(zFixNext.transform)__name__
__module____qualname__ZBM_compatibleZPATTERNZorderr   r'   r   r   )r   r   r      s
   
r   c             C   s]   t  |   } | d  k r d Sx: | j D]/ } | j t j k rB d St | |   r& d Sq& Wd S)NFT)find_assignchildrentyper   EQUAL
is_subtree)r&   ZassignZchildr   r   r   r#   Q   s    r#   c             C   sH   |  j  t j k r |  S|  j  t j k s7 |  j d  k r; d  St |  j  S)N)r-   symsZ	expr_stmtZsimple_stmtparentr+   )r&   r   r   r   r+   ]   s
    !r+   c                s0   |    k r d St    f d d   |  j D  S)NTc             3   s   |  ] } t  |    Vq d  S)N)r/   )r   c)r&   r   r   	<genexpr>g   s    zis_subtree.<locals>.<genexpr>)anyr,   )rootr&   r   )r&   r   r/   d   s    r/   N)__doc__Zpgen2r   Zpygramr   r0   r   r   Z
fixer_utilr   r   r   r   ZBaseFixr   r#   r+   r/   r   r   r   r   <module>   s   @