§
    ÷yIf  ã                  óv   — d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 erd dl
mZ  G d„ de¦  «        Zdd„ZdS )é    )Úannotations)ÚTYPE_CHECKING)Únodes)ÚBaseChecker)Úonly_required_for_messages)ÚPyLinterc                  ó^   ‡ — e Zd ZdZddiZdˆ fd„Z ed	¦  «        dd„¦   «         Zdd„Zˆ xZ	S )ÚSetMembershipCheckerÚset_membershipÚR6201)z&Consider using set for membership testúuse-set-for-membershipz`Membership tests are more efficient when performed on a lookup optimized datatype like ``sets``.Úlinterr   ÚreturnÚNonec                óL   •— t          ¦   «                              |¬¦  «         dS )zInitialize checker instance.©r   N)ÚsuperÚ__init__)Úselfr   Ú	__class__s     €úT/var/www/piapp/venv/lib/python3.11/site-packages/pylint/extensions/set_membership.pyr   zSetMembershipChecker.__init__   s$   ø€ å‰Œ×Ò ÐÑ'Ô'Ð'Ð'Ð'ó    r   Únodeúnodes.Comparec                óV   — |j         D ] \  }}|dk    r|                      |¦  «         Œ!d S )NÚin)ÚopsÚ_check_in_comparison)r   r   ÚopÚ
comparators       r   Úvisit_comparez"SetMembershipChecker.visit_compare!   s?   € à"œhð 	6ð 	6‰NˆB�
Ø�TŠzˆzØ×)Ò)¨*Ñ5Ô5Ð5øð	6ð 	6r   r    únodes.NodeNGc                óà   — t          |t          j        ¦  «        rt          |t          j        ¦  «        rdS t	          d„ |j        D ¦   «         ¦  «        r|                      d|¬¦  «         dS dS )zBChecks for membership comparisons with in-place container objects.Nc              3  óJ   K  — | ]}t          |t          j        ¦  «        V — Œd S ©N)Ú
isinstancer   ÚConst)Ú.0Úitems     r   ú	<genexpr>z<SetMembershipChecker._check_in_comparison.<locals>.<genexpr>/   s.   è è € ÐIÐI°�z˜$¥¤Ñ,Ô,ÐIÐIÐIÐIÐIÐIr   r   )r   )r&   r   ÚBaseContainerÚSetÚallÚeltsÚadd_message)r   r    s     r   r   z)SetMembershipChecker._check_in_comparison'   s†   € å˜*¥eÔ&9Ñ:Ô:ð 	½jØ�œ	ñ?
ô ?
ð 	ð ˆFõ ÐIÐI¸¼ÐIÑIÔIÑIÔIð 	HØ×ÒÐ5¸JÐÑGÔGÐGÐGÐGð	Hð 	Hr   ©r   r   r   r   )r   r   r   r   )r    r"   r   r   )
Ú__name__Ú
__module__Ú__qualname__ÚnameÚmsgsr   r   r!   r   Ú__classcell__)r   s   @r   r
   r
      sš   ø€ € € € € Ø€Dàð 
ð€Dð(ð (ð (ð (ð (ð (ð  ÐÐ 8Ñ9Ô9ð6ð 6ð 6ñ :Ô9ð6ð
	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Hr   r
   r   r   r   r   c                óJ   — |                       t          | ¦  «        ¦  «         d S r%   )Úregister_checkerr
   r   s    r   Úregisterr9   3   s%   € Ø
×ÒÕ0°Ñ8Ô8Ñ9Ô9Ð9Ð9Ð9r   Nr0   )Ú
__future__r   Útypingr   Úastroidr   Úpylint.checkersr   Úpylint.checkers.utilsr   Úpylint.lintr   r
   r9   © r   r   ú<module>rA      sÌ   ðð
 #Ð "Ð "Ð "Ð "Ð "à  Ð  Ð  Ð  Ð  Ð  à Ð Ð Ð Ð Ð à 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø <Ð <Ð <Ð <Ð <Ð <àð %Ø$Ð$Ð$Ð$Ð$Ð$ðHð Hð Hð Hð H˜;ñ Hô Hð HðB:ð :ð :ð :ð :ð :r   