a
XC?hH ã @ s2 d Z ddlmZ ddlmZ G dd„ 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 e Zd ZdZdZdZdd„ ZdS )Ú
FixIsinstanceTz˜
power<
'isinstance'
trailer< '(' arglist< any ',' atom< '('
args=testlist_gexp< any+ >
')' > > ')' >
>
é c C sö t ƒ }|d }|j}g }t|ƒ}|D ]p\}} | jtjkrr| j|v rr|t|ƒd k r”||d jtjkr”t |ƒ q$q$|
| ¡ | jtjkr$| | j¡ q$|r°|d jtjkr°|d= t|ƒdkrÞ|j}
|
j
|d _
|
|d ¡ n||d d …<