Viewing File: /opt/alt/python35/lib64/python3.5/lib2to3/fixes/__pycache__/fix_isinstance.cpython-35.opt-1.pyc



¯ÕYfHã@sCdZddlmZddlmZGdd„dejƒZdS)a,Fixer that cleans up a tuple argument to isinstance after the tokens
in it were fixed.  This is mainly used to remove double occurrences of
tokens as a leftover of the long -> int / unicode -> str conversion.

eg.  isinstance(x, (int, long)) -> isinstance(x, (int, int))
       -> isinstance(x, int)
é)Ú
fixer_base)Útokenc@s.eZdZdZdZdZdd„ZdS)Ú
FixIsinstanceTz˜
    power<
        'isinstance'
        trailer< '(' arglist< any ',' atom< '('
            args=testlist_gexp< any+ >
        ')' > > ')' >
    >
    écCsUtƒ}|d}|j}g}t|ƒ}x¤|D]œ\}}	|	jtjkr¢|	j|kr¢|t|ƒdkrÑ||djtjkrÑt	|ƒq5q5|j
|	ƒ|	jtjkr5|j|	jƒq5W|rø|djtjkrø|d=t|ƒdkr7|j}
|
j
|d_
|
j|dƒn||dd…<|jƒdS)NÚargséééÿÿÿÿr	)ÚsetZchildrenÚ	enumerateÚtyperÚNAMEÚvalueÚlenÚCOMMAÚnextÚappendÚaddÚparentÚprefixÚreplaceZchanged)ÚselfZnodeZresultsZnames_insertedZtestlistrZnew_argsÚiteratorÚidxÚargZatom©rúA/opt/alt/python35/lib64/python3.5/lib2to3/fixes/fix_isinstance.pyÚ	transforms*	
	!0

	zFixIsinstance.transformN)Ú__name__Ú
__module__Ú__qualname__Z
BM_compatibleZPATTERNZ	run_orderrrrrrrsrN)Ú__doc__ÚrZ
fixer_utilrZBaseFixrrrrrÚ<module>
s
Back to Directory File Manager