o
bcH @ s2 d Z ddlmZ ddlmZ G dd dejZdS )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 ]8\}} | jtjkr9| j|v r9|t|d k r8||d jtjkr8t | qq|
| | jtjkrJ|| j q|rX|d jtjkrX|d= t|dkrp|j}
|
j
|d _
|
|d d S ||d d <