File: //usr/lib/python3.7/lib2to3/fixes/__pycache__/fix_xrange.cpython-37.pyc
B
5a
@ sF d Z ddlmZ ddlmZmZmZ ddlmZ G dd dejZ dS )z/Fixer that changes xrange(...) into range(...). )
fixer_base)NameCallconsuming_calls)patcompc sh e Zd ZdZdZ fddZdd Zdd Zd d
Zdd Z d
Z
ee
Z
dZeeZdd Z ZS ) FixXrangeTz
power<
(name='range'|name='xrange') trailer< '(' args=any ')' >
rest=any* >
c s t t| || t | _d S )N)superr
start_treesettransformed_xranges)selftreefilename) __class__ ./usr/lib/python3.7/lib2to3/fixes/fix_xrange.pyr s zFixXrange.start_treec C s
d | _ d S )N)r )r r
r r r r finish_tree s zFixXrange.finish_treec C sD |d }|j dkr| ||S |j dkr4| ||S tt|d S )NnameZxrangerange)valuetransform_xrangetransform_range
ValueErrorrepr)r noderesultsr r r r transform s
zFixXrange.transformc C s0 |d }| td|jd | jt| d S )Nr r )prefix)replacer r r addid)r r r r r r r r $ s zFixXrange.transform_xrangec C sj t || jkrf| |sfttd|d g}ttd|g|jd}x|d D ]}|| qPW |S d S )Nr argslist)r rest)r r in_special_contextr r Zcloner Zappend_child)r r r Z
range_callZ list_callnr r r r * s
zFixXrange.transform_rangez3power< func=NAME trailer< '(' node=any ')' > any* >zfor_stmt< 'for' any 'in' node=any ':' any* >
| comp_for< 'for' any 'in' node=any any* >
| comparison< any 'in' node=any any*>
c C sf |j d krdS i }|j j d k rJ| j|j j |rJ|d |krJ|d jtkS | j|j |od|d |kS )NFr func)parentp1matchr r p2)r r r r r r r$ ? s
zFixXrange.in_special_context)__name__
__module____qualname__Z
BM_compatibleZPATTERNr r r r r ZP1r Zcompile_patternr( ZP2r* r$
__classcell__r r )r r r s
r N)
__doc__ r Z
fixer_utilr r r r ZBaseFixr r r r r <module> s