509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3

  \f  ã               @   sj   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G dd„ dejƒZdd	„ Zd
d„ Zdd„ ZdS )é   )Útoken)Úpython_symbols)Ú
fixer_base)ÚNameÚCallÚfind_bindingz;Calls to builtin next() possibly shadowed by global bindingc                   s0   e Zd ZdZdZdZ‡ fdd„Zdd„ Z‡  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                s>   t t| ƒj||ƒ td|ƒ}|r4| j|tƒ d| _nd| _d S )NÚnextTF)Úsuperr   Ú
start_treer   ÚwarningÚbind_warningÚshadowed_next)ÚselfZtreeÚfilenameÚn)Ú	__class__© ú./usr/lib64/python3.6/lib2to3/fixes/fix_next.pyr   $   s    
zFixNext.start_treec             C   sþ   |j dƒ}|j dƒ}|j dƒ}|rr| jr>|jtd|jd�ƒ qúdd„ |D ƒ}d|d	 _|jttd
|jd�|ƒƒ nˆ|r�td|jd�}|j|ƒ nj|ràt|ƒrÐ|d }djdd„ |D ƒƒjƒ dkrÌ| j	|t
ƒ d S |jtdƒƒ nd|krú| j	|t
ƒ d| _d S )NÚbaseÚattrÚnameÚ__next__)Úprefixc             S   s   g | ]}|j ƒ ‘qS r   )Zclone)Ú.0r   r   r   r   ú
<listcomp>9   s    z%FixNext.transform.<locals>.<listcomp>Ú é    r	   Úheadc             S   s   g | ]}t |ƒ‘qS r   )Ú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PATTERNÚorderr   r'   Ú__classcell__r   r   )r   r   r      s
   
r   c             C   sF   t | ƒ}|d krdS x,|jD ]"}|jtjkr0dS t|| ƒrdS qW dS )NFT)Úfind_assignÚchildrenÚtyper   ÚEQUALÚ
is_subtree)r&   ZassignZchildr   r   r   r#   Q   s    
r#   c             C   s4   | j tjkr| S | j tjks&| jd kr*d S t| jƒS )N)r/   ÚsymsZ	expr_stmtZsimple_stmtÚparentr-   )r&   r   r   r   r-   ]   s
    r-   c                s$   | ˆ krdS t ‡ fdd„| jD ƒƒS )NTc             3   s   | ]}t |ˆ ƒV  qd S )N)r1   )r   Úc)r&   r   r   ú	<genexpr>g   s    zis_subtree.<locals>.<genexpr>)Úanyr.   )Úrootr&   r   )r&   r   r1   d   s    r1   N)Zpgen2r   Zpygramr   r2   r   r   Z
fixer_utilr   r   r   r   ZBaseFixr   r#   r-   r1   r   r   r   r   Ú<module>	   s   @