ž zyMaf c@s™dZddlmZddlmZddlmZddlm Z m Z m Z dZ Gdd„dej ƒZd d „Zd d „Zd d„ZdS(u.Fixer for it.next() -> next(it), per PEP 3114.i(utoken(upython_symbols(u fixer_base(uNameuCallu find_bindingu;Calls to builtin next() possibly shadowed by global bindingcsD|EeZdZdZdZdZ‡fdd†Zdd„Z‡S(uFixNextuΎ 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* > uprecsWtt|ƒj||ƒtd|ƒ}|rJ|j|tƒd|_n d|_dS(NunextTF( usuperuFixNextu start_treeu find_bindinguwarningu bind_warninguTrueu shadowed_nextuFalse(uselfutreeufilenameun(u __class__(u;/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_next.pyu start_tree$s  uFixNext.start_treecCsk|jdƒ}|jdƒ}|jdƒ}|r£|jr[|jtdd|jƒƒqgdd„|Dƒ}d|d _|jttd d|jƒ|ƒƒnΔ|rΞtdd|jƒ}|j|ƒn™|r?t|ƒr)|d }djd d„|Dƒƒjƒd kr%|j |t ƒndS|jtdƒƒn(d|krg|j |t ƒd|_ndS(Nubaseuattrunameu__next__uprefixcSsg|]}|jƒ‘qS((uclone(u.0un((u;/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_next.pyu 9s u%FixNext.transform..uiunextuheadcSsg|]}t|ƒ‘qS((ustr(u.0un((u;/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_next.pyu Es u __builtin__uglobalT( ugetu shadowed_nextureplaceuNameuprefixuCalluis_assign_targetujoinustripuwarningu bind_warninguTrue(uselfunodeuresultsubaseuattrunameunuhead((u;/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_next.pyu transform.s,  (  ( uFixNext.transformT( u__name__u __module__u __qualname__uTrueu BM_compatibleuPATTERNuorderu start_treeu transform(u __locals__((u __class__u;/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_next.pyuFixNexts  uFixNextcCs]t|ƒ}|dkrdSx:|jD]/}|jtjkrBdSt||ƒr&dSq&WdS(NFT( u find_assignuNoneuFalseuchildrenutypeutokenuEQUALu is_subtreeuTrue(unodeuassignuchild((u;/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_next.pyuis_assign_targetQs  uis_assign_targetcCsH|jtjkr|S|jtjks7|jdkr;dSt|jƒS(N(utypeusymsu expr_stmtu simple_stmtuparentuNoneu find_assign(unode((u;/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_next.pyu find_assign]s !u find_assigncs0|ˆkrdSt‡fdd†|jDƒƒS(Nc3s|]}t|ˆƒVqdS(N(u is_subtree(u.0uc(unode(u;/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_next.pyu gsuis_subtree..T(uTrueuanyuchildren(urootunode((unodeu;/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_next.pyu is_subtreeds u is_subtreeN(u__doc__upgen2utokenupygramupython_symbolsusymsuu fixer_baseu fixer_utiluNameuCallu find_bindingu bind_warninguBaseFixuFixNextuis_assign_targetu find_assignu is_subtree(((u;/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_next.pyus@