ž zyMaHc@sCdZddlmZddlmZGdd„dejƒZdS(u,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) i(u fixer_base(utokencBs2|EeZdZdZdZdZdd„ZdS(u FixIsinstanceu˜ power< 'isinstance' trailer< '(' arglist< any ',' atom< '(' args=testlist_gexp< any+ > ')' > > ')' > > ic Cs^tƒ}|d}|j}g}t|ƒ}xª|D]¢\}} | jtjkr¥| j|kr¥|t|ƒdkr×||djtjkr×t |ƒq5q×q5|j | ƒ| jtjkr5|j | jƒq5q5W|r|djtjkr|d=nt|ƒdkr@|j } | j |d_ | j|dƒn||dd…<|jƒdS(Nuargsiiiÿÿÿÿiÿÿÿÿ(usetuchildrenu enumerateutypeutokenuNAMEuvalueulenuCOMMAunextuappenduadduparentuprefixureplaceuchanged( uselfunodeuresultsunames_insertedutestlistuargsunew_argsuiteratoruidxuarguatom((uA/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_isinstance.pyu transforms*    !0     uFixIsinstance.transformNT(u__name__u __module__u __qualname__uTrueu BM_compatibleuPATTERNu run_orderu transform(u __locals__((uA/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_isinstance.pyu FixIsinstancesu FixIsinstanceN(u__doc__uu fixer_baseu fixer_utilutokenuBaseFixu FixIsinstance(((uA/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_isinstance.pyu s