HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/lib2to3/fixes/__pycache__/fix_isinstance.cpython-311.opt-1.pyc
�

��Vc|��H�dZddlmZddlmZGd�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� �eZdZdZdZdZd�ZdS)�
FixIsinstanceTz�
    power<
        'isinstance'
        trailer< '(' arglist< any ',' atom< '('
            args=testlist_gexp< any+ >
        ')' > > ')' >
    >
    �c���t��}|d}|j}g}t|��}|D]�\}}	|	jtjkrN|	j|vrE|t|��dz
kr.||dzjtjkrt|���g�h|�
|	��|	jtjkr|�|	j����|r|djtjkr|d=t|��dkr6|j}
|
j
|d_
|
�|d��dS||dd�<|���dS)N�args�����)�set�children�	enumerate�typer�NAME�value�len�COMMA�next�append�add�parent�prefix�replace�changed)�self�node�results�names_inserted�testlistr	�new_args�iterator�idx�arg�atoms           �0D:\Python311\Lib\lib2to3\fixes\fix_isinstance.py�	transformzFixIsinstance.transforms]�������6�?��� �����T�?�?�� �	2�	2�H�C���x�5�:�%�
2�#�)�~�*E�
2���T���Q��&��4��a��=�+=���+L����N�N�N�������$�$�$��8�u�z�)�2�"�&�&�s�y�1�1�1���	����)�U�[�8�	�����x�=�=�A��	��?�D�!%��H�Q�K���L�L��!��%�%�%�%�%��D����G��L�L�N�N�N�N�N�N)�__name__�
__module__�__qualname__�
BM_compatible�PATTERN�	run_orderr'�r(r&rrs6�������M��G��I�����r(rN)�__doc__�r�
fixer_utilr�BaseFixrr/r(r&�<module>r4sl����������������$�$�$�$�$�J�&�$�$�$�$�$r(