Your IP : 18.188.135.150


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

�
�mec@s�dZddlmZddlmZddlmZddlm	Z	m
Z
mZdZdej
fd��YZd	�Zd
�Zd�Zd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,eZeZdZdZd�Zd�ZRS(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|t�t|_n	t|_dS(Nunext(	tsuperRt
start_treeRtwarningtbind_warningtTruet
shadowed_nexttFalse(tselfttreetfilenametn((s./usr/lib64/python2.7/lib2to3/fixes/fix_next.pyR	$scCs�|st�|jd�}|jd�}|jd�}|r�|jrg|jtdd|j��q�g|D]}|j�^qn}d|d_|jttdd|j�|��n�|r�tdd|j�}|j|�n�|rct|�rM|d	}d
j	g|D]}t
|�^q�j�dkrI|j|t
�ndS|jtd��n(d|kr�|j|t
�t|_ndS(
Ntbasetattrtnameu__next__tprefixuiunexttheadtu__builtin__tglobal(tAssertionErrortgetR
treplaceRRtcloneRtis_assign_targettjointstrtstripR
RR(RtnodetresultsRRRRR((s./usr/lib64/python2.7/lib2to3/fixes/fix_next.pyt	transform.s.	
(
4(t__name__t
__module__Rt
BM_compatibletPATTERNtorderR	R$(((s./usr/lib64/python2.7/lib2to3/fixes/fix_next.pyRs
	
cCs]t|�}|dkrtSx:|jD]/}|jtjkrBtSt||�r&tSq&WtS(N(	tfind_assigntNoneRtchildrenttypeRtEQUALt
is_subtreeR(R"tassigntchild((s./usr/lib64/python2.7/lib2to3/fixes/fix_next.pyRQscCsH|jtjkr|S|jtjks7|jdkr;dSt|j�S(N(R-tsymst	expr_stmttsimple_stmttparentR+R*(R"((s./usr/lib64/python2.7/lib2to3/fixes/fix_next.pyR*]s
!cs-|�krtSt�fd�|jD��S(Nc3s|]}t|��VqdS(N(R/(t.0tc(R"(s./usr/lib64/python2.7/lib2to3/fixes/fix_next.pys	<genexpr>gs(RtanyR,(trootR"((R"s./usr/lib64/python2.7/lib2to3/fixes/fix_next.pyR/dsN(t__doc__tpgen2RtpygramRR2RRt
fixer_utilRRRRtBaseFixRRR*R/(((s./usr/lib64/python2.7/lib2to3/fixes/fix_next.pyt<module>s@