\df ~dZddlmZddlmZddlmZddlm Z m Z m Z dZ Gddej Zd Zd Zd Zd S) z.Fixer for it.next() -> next(it), per PEP 3114.)token)python_symbols) fixer_base)NameCall find_bindingz;Calls to builtin next() possibly shadowed by global bindingc0eZdZdZdZdZfdZdZxZS)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* > prectt|||td|}|r$||t d|_dSd|_dS)NnextTF)superr start_treerwarning bind_warning shadowed_next)selftreefilenamen __class__s '..\python\lib\lib2to3\fixes\fix_next.pyrzFixNext.start_tree$sj gt''h777  & &  ' LLL ) ) )!%D   !&D   cd|sJ|d}|d}|d}|r|jr+|td|jdSd|D}d|d_|t td |j|dS|r-td|j}||dS|rt |rZ|d }dd |Dd kr| |tdS|tddSd |vr$| |td|_dSdS)Nbaseattrname__next__)prefixc6g|]}|S)clone.0rs r z%FixNext.transform..9s 000a 000rr headc,g|]}t|Sr!)strr#s rr%z%FixNext.transform..Es111qCFF111r __builtin__globalT) getrreplacerrris_assign_targetjoinstriprr)rnoderesultsrrrrr(s r transformzFixNext.transform.s{{6""{{6""{{6""  &! K T*T[AAABBBBB004000!#Q T$vdk"B"B"BDIIJJJJJ  &Z 444A LLOOOOO  & %% v7711D1112288::mKKLL|444 LLj)) * * * * *  LL| , , ,!%D   ! r) __name__ __module__ __qualname__ BM_compatiblePATTERNorderrr4 __classcell__)rs@rr r sZM G E'''''&&&&&&&rr ct|}|dS|jD]-}|jtjkrdSt ||rdS.dS)NFT) find_assignchildrentyperEQUAL is_subtree)r2assignchilds rr/r/Qsc   F ~u : $ $55 t $ $ 44  5rc|jtjkr|S|jtjks|jdSt |jSN)r?syms expr_stmt simple_stmtparentr=)r2s rr=r=]sB yDN""  yD$$$ (;t t{ # ##rcT|krdStfd|jDS)NTc38K|]}t|VdSrE)rA)r$cr2s r zis_subtree..gs-::qz!T""::::::r)anyr>)rootr2s `rrArAds6 t||t ::::DM::: : ::rN)__doc__pgen2rpygramrrFr&r fixer_utilrrrrBaseFixr r/r=rAr!rrrUs44++++++1111111111L :&:&:&:&:&j :&:&:&@   $$$;;;;;r