§
    öyIfÖ  ã                  óª   — U d Z ddlmZ ddlmZ ddlZddlmZ ddlmZ ddl	m
Z
mZmZ ddlmZ erdd	lmZ d
diZded<    G d„ de¦  «        Zdd„ZdS )z+Check for new / old style related problems.é    )Úannotations)ÚTYPE_CHECKINGN)Únodes)ÚBaseChecker)Úhas_known_basesÚnode_frame_classÚonly_required_for_messages)ÚMessageDefinitionTuple)ÚPyLinterÚE1003)z&Bad first argument %r given to super()úbad-super-callzbUsed when another argument than the current class is given as first argument of the super builtin.z!dict[str, MessageDefinitionTuple]ÚMSGSc                  óL   — e Zd ZdZdZeZdZ ed¦  «        dd	„¦   «         Z	e	Z
d
S )ÚNewStyleConflictCheckerz²Checks for usage of new style capabilities on old style classes and
    other new/old styles conflicts problems.

    * use of property, __slots__, super
    * "super" usage
    Únewstyle© r   Únodeúnodes.FunctionDefÚreturnÚNonec                óÈ  ‡— |                      ¦   «         sdS |j                             ¦   «         }|                     t          j        ¦  «        D �]�}t          |¦  «        t          |¦  «        k    rŒ$|j        }t          |t          j	        ¦  «        sŒF|j
        }t          |t          j        ¦  «        r/t          |j        t          j        ¦  «        r|j        j        dk    sŒ—|j        st          |¦  «        �sâ|j        sŒ¶|j        d         }t          |t          j        ¦  «        rIt          |j        t          j        ¦  «        r*|j        j        dk    r|                      d|d¬¦  «         �Œ&t#          |j        ¦  «        dk    rzt          |j        d	         t          j        ¦  «        rU|j        d	         j        d
k    r?t          |t          j	        ¦  «        r%|j        dk    r|                      d|d¬¦  «         �Œ¸	 |j        o,t'          |j        d                              ¦   «         d¦  «        Šn# t*          j        $ r Y �Œ w xY w|‰urˆt/          ˆfd„|                     ¦   «         D ¦   «         ¦  «        r[d}‰r‰j        }n4|j        r-t3          |j        d         d¦  «        r|j        d         j        }|r|                      d||f¬¦  «         �Œ’dS )zCheck use of super.NÚsuperr   Útyper   )r   )r   Úargsé   é   ÚselfÚ	__class__)zself.__class__c              3  ó$   •K  — | ]
}|‰k    V — Œd S ©Nr   )Ú.0ÚiÚsupclss     €úL/var/www/piapp/venv/lib/python3.11/site-packages/pylint/checkers/newstyle.pyú	<genexpr>z<NewStyleConflictChecker.visit_functiondef.<locals>.<genexpr>q   s'   øè è € Ð.VÐ.V¸q¨q°Fª{Ð.VÐ.VÐ.VÐ.VÐ.VÐ.Vó    Úname)Ú	is_methodÚparentÚframeÚnodes_of_classr   ÚCallr   ÚfuncÚ
isinstanceÚ	AttributeÚexprÚNamer'   r   r   r   Úadd_messageÚlenÚattrnameÚnextÚinferÚastroidÚInferenceErrorÚallÚ	ancestorsÚhasattr)	r   r   ÚklassÚstmtr0   ÚcallÚarg0r'   r#   s	           @r$   Úvisit_functiondefz)NewStyleConflictChecker.visit_functiondef2   sþ  ø€ ð �~Š~ÑÔð 	ØˆFØ”×!Ò!Ñ#Ô#ˆØ×'Ò'­¬
Ñ3Ô3ð B	Tñ B	TˆDÝ Ñ%Ô%Õ)9¸$Ñ)?Ô)?Ò?Ð?àà”9ˆDÝ˜d¥E¤OÑ4Ô4ð Øà”9ˆDõ ˜4¥¤Ñ,Ô,ðå˜tœy­%¬*Ñ5Ô5ðð ”I”N gÒ-Ð-àð Œ~ð /T¥_°UÑ%;Ô%;ñ /Tà”yð Øð ”y ”|�å˜t¥U¤ZÑ0Ô0ðå" 4¤9­e¬jÑ9Ô9ðð œ	œ¨&Ò0Ð0à×$Ò$Ð%5¸DÀyÐ$ÑQÔQÐQÙõ
 ˜œ	‘N”N aÒ'Ð'Ý" 4¤9¨Q¤<µ´Ñ<Ô<ð (àœ	 !œÔ)¨VÒ3Ð3Ý" 4­¬Ñ9Ô9ð 4àœ¨Ò4Ð4à×$Ò$Ø(¨tÐ:Mð %ñ ô ð ñ ðØ!œYÐK­4°´	¸!´×0BÒ0BÑ0DÔ0DÀdÑ+KÔ+K�F�FøÝÔ-ð ð ð Ø‘Hðøøøð
  Ð&Ð&­3Ð.VÐ.VÐ.VÐ.VÀEÇOÂOÑDUÔDUÐ.VÑ.VÔ.VÑ+VÔ+VÐ&Ø�Dð ð 1Ø%œ{˜˜Øœð 1¥w¨t¬y¸¬|¸VÑ'DÔ'Dð 1Ø#œy¨œ|Ô0˜Øð TØ×(Ò(Ð)9ÀÈDÈ7Ð(ÑSÔSÐSùðEB	Tð B	Ts   È	4H>È>IÉIN)r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r'   r   ÚmsgsÚoptionsr	   r@   Úvisit_asyncfunctiondefr   r&   r$   r   r   #   sg   € € € € € ðð ð €Dà€Dà€GàÐÐ 0Ñ1Ô1ðHTð HTð HTñ 2Ô1ðHTðT /ÐÐÐr&   r   Úlinterr   r   r   c                óJ   — |                       t          | ¦  «        ¦  «         d S r    )Úregister_checkerr   )rH   s    r$   ÚregisterrK   €   s%   € Ø
×ÒÕ3°FÑ;Ô;Ñ<Ô<Ð<Ð<Ð<r&   )rH   r   r   r   )rD   Ú
__future__r   Útypingr   r7   r   Úpylint.checkersr   Úpylint.checkers.utilsr   r   r	   Úpylint.typingr
   Úpylint.lintr   r   Ú__annotations__r   rK   r   r&   r$   ú<module>rS      s7  ðð
 2Ð 1Ð 1à "Ð "Ð "Ð "Ð "Ð "à  Ð  Ð  Ð  Ð  Ð  à €€€Ø Ð Ð Ð Ð Ð à 'Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð ð ð ð ð ð ð ð
 1Ð 0Ð 0Ð 0Ð 0Ð 0àð %Ø$Ð$Ð$Ð$Ð$Ð$ð ð ð+€ð ð ð ñ ðZ/ð Z/ð Z/ð Z/ð Z/˜kñ Z/ô Z/ð Z/ðz=ð =ð =ð =ð =ð =r&   