Your IP : 172.28.240.42


Current Path : /usr/lib/python2.7/lib2to3/fixes/
Upload File :
Current File : //usr/lib/python2.7/lib2to3/fixes/fix_next.pyc


|_c@sdZddlmZddlmZddlmZddlm	Z	m
Z
mZdZdej
fdYZd	Zd
ZdZdS(
s.Fixer for it.next() -> next(it), per PEP 3114.i(ttoken(tpython_symbols(t
fixer_base(tNametCalltfind_bindings;Calls to builtin next() possibly shadowed by global bindingtFixNextcBs,eZeZdZdZdZdZRS(s
    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* >
    tprecCsWtt|j||td|}|rJ|j|tt|_n	t|_dS(Nunext(	tsuperRt
start_treeRtwarningtbind_warningtTruet
shadowed_nexttFalse(tselfttreetfilenametn((s,/usr/lib/python2.7/lib2to3/fixes/fix_next.pyR	$scCs|st|jd}|jd}|jd}|r|jrg|jtdd|jqg|D]}|j^qn}d|d_|jttdd|j|n|rtdd|j}|j|n|rct|rM|d	}d
j	g|D]}t
|^qjdkrI|j|t
ndS|jtdn(d|kr|j|t
t|_ndS(
Ntbasetattrtnameu__next__tprefixuiunexttheadtu__builtin__tglobal(tAssertionErrortgetR
treplaceRRtcloneRtis_assign_targettjointstrtstripR
RR(RtnodetresultsRRRRR((s,/usr/lib/python2.7/lib2to3/fixes/fix_next.pyt	transform.s.	
(
4(t__name__t
__module__Rt
BM_compatibletPATTERNtorderR	R$(((s,/usr/lib/python2.7/lib2to3/fixes/fix_next.pyRs
	
cCs]t|}|dkrtSx:|jD]/}|jtjkrBtSt||r&tSq&WtS(N(	tfind_assigntNoneRtchildrenttypeRtEQUALt
is_subtreeR(R"tassigntchild((s,/usr/lib/python2.7/lib2to3/fixes/fix_next.pyRQscCsH|jtjkr|S|jtjks7|jdkr;dSt|jS(N(R-tsymst	expr_stmttsimple_stmttparentR+R*(R"((s,/usr/lib/python2.7/lib2to3/fixes/fix_next.pyR*]s
!cs-|krtStfd|jDS(Nc3s|]}t|VqdS(N(R/(t.0tc(R"(s,/usr/lib/python2.7/lib2to3/fixes/fix_next.pys	<genexpr>gs(RtanyR,(trootR"((R"s,/usr/lib/python2.7/lib2to3/fixes/fix_next.pyR/dsN(t__doc__tpgen2RtpygramRR2RRt
fixer_utilRRRRtBaseFixRRR*R/(((s,/usr/lib/python2.7/lib2to3/fixes/fix_next.pyt<module>s@