3
\f ã @ sn d Z ddlmZ ddlmZ ddlmZ ddlm Z m
Z
mZ dZG dd„ dej
ƒZd d
„ Zdd„ Zd
d„ ZdS )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 s0 e Zd ZdZdZdZ‡ fdd„Zdd„ Z‡ ZS )Ú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* >
Zprec s> t t| ƒj||ƒ td|ƒ}|r4| j|tƒ d| _nd| _d S )NÚnextTF)Úsuperr Ú
start_treer ÚwarningÚbind_warningÚ
shadowed_next)ÚselfZtreeÚfilenameÚn)Ú __class__© ú./usr/lib64/python3.6/lib2to3/fixes/fix_next.pyr $ s
zFixNext.start_treec C sþ |j dƒ}|j dƒ}|j dƒ}|rr| jr>|jtd|jd�ƒ qúdd„ |D ƒ}d|d _|jttd
|jd�|ƒƒ nˆ|r�td|jd�}|j|ƒ nj|ràt|ƒrÐ|d }djdd„ |D ƒƒjƒ d
krÌ| j |t
ƒ d S |jtdƒƒ nd|krú| j |t
ƒ d| _d S )NÚbaseÚattrÚnameÚ__next__)Úprefixc S s g | ]}|j ƒ ‘qS r )Zclone)Ú.0r r r r ú