3
2af @ sj d dl mZ d dlmZ d dlmZ d dlmZm Z m
Z
dZG dd dejZ
dd Zd
d Zdd
ZdS ) )token)python_symbols)
fixer_base)NameCallfind_bindingz;Calls to builtin next() possibly shadowed by global bindingc s0 e Zd ZdZdZdZ fddZdd 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 )NnextTF)superr
start_treer warningbind_warning
shadowed_next)selfZtreefilenamen) __class__ -/opt/alt/python36/lib64/python3.6/fix_next.pyr $ s
zFixNext.start_treec C s |j d}|j d}|j d}|rr| jr>|jtd|jd qdd |D }d|d _|jttd
|jd| n|rtd|jd}|j| nj|rt|r|d }djdd |D j d
kr| j |t
d S |jtd nd|kr| j |t
d| _d S )Nbaseattrname__next__)prefixc S s g | ]}|j qS r )Zclone).0r r r r