bgV ~dZddlmZddlmZddlmZddlm Z m Z m Z dZ Gddej Zd Zd Zd Zd S) a Based on fix_next.py by Collin Winter. Replaces it.next() -> next(it), per PEP 3114. Unlike fix_next.py, this fixer doesn't replace the name of a next method with __next__, which would break Python 2 compatibility without further help from fixers in stage 2. )token)python_symbols) fixer_base)NameCall find_bindingz;Calls to builtin next() possibly shadowed by global bindingc0eZdZdZdZdZfdZdZxZS) FixNextCallTz power< base=any+ trailer< '.' attr='next' > trailer< '(' ')' > > | power< head=any+ trailer< '.' attr='next' > not trailer< '(' ')' > > | 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 p/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/libfuturize/fixes/fix_next_call.pyrzFixNextCall.start_tree sj k4  ++D(;;;  & &  ' LLL ) ) )!%D   !&D   cx|sJ|d}|d}|d}|r[|jrdSd|D}d|d_|t t d|j|dS|rdS|rkt |rZ|d }dd |Dd kr| |tdSdSd |vr$| |td |_dSdS)Nbaseattrnamec6g|]}|S)clone.0rs r z)FixNextCall.transform..7s 000a 000rrr )prefixheadc,g|]}t|Sr)strr!s rr#z)FixNextCall.transform..Es111qCFF111r __builtin__globalT) getrr%replacerris_assign_targetjoinstriprr)rnoderesultsrrrr&s r transformzFixNextCall.transform*sfw{{6""{{6""{{6""  &! K004000!#Q T$vdk"B"B"BDIIJJJJJ  & D  & %% v7711D1112288::mKKLL|444    LL| , , ,!%D   ! r) __name__ __module__ __qualname__ BM_compatiblePATTERNorderrr2 __classcell__)rs@rr r sZMG E'''''"&"&"&"&"&"&"&rr ct|}|dS|jD]-}|jtjkrdSt ||rdS.dS)NFT) find_assignchildrentyperEQUAL is_subtree)r0assignchilds rr-r-Rsc   F ~u : $ $55 t $ $ 44  5rc|jtjkr|S|jtjks|jdSt |jSN)r=syms expr_stmt simple_stmtparentr;)r0s rr;r;^sB yDN""  yD$$$ (;t t{ # ##rcT|krdStfd|jDS)NTc38K|]}t|VdSrC)r?)r"cr0s r zis_subtree..hs-::qz!T""::::::r)anyr<)rootr0s `rr?r?es6 t||t ::::DM::: : ::rN)__doc__ lib2to3.pgen2rlib2to3.pygramrrDlib2to3rlib2to3.fixer_utilrrrrBaseFixr r-r;r?rrrrTs 1111117777777777L 8&8&8&8&8&*$8&8&8&|   $$$;;;;;r