§
    ÷yIf—  ã                  óŒ   — d dl mZ d dlZd dlmZmZ d dlmZ d dlm	Z	m
Z
mZ d dlmZ d dlmZ erd dlmZ  G d	„ d
¦  «        ZdS )é    )ÚannotationsN)ÚTYPE_CHECKINGÚAny)Únodes)Ú_SCOPE_EXEMPTÚ	MSG_TYPESÚWarningScope)ÚInvalidMessageError)Únormalize_text)ÚBaseCheckerc                  ól   — e Zd Z	 	 	 	 	 d'd(d„Zed)d„¦   «         Zd*d„Zd+d„Zd+d„Zd,d„Z	d-d.d!„Z
d/d&„ZdS )0ÚMessageDefinitionNFTÚcheckerr   ÚmsgidÚstrÚmsgÚdescriptionÚsymbolÚscopeÚ
minversionútuple[int, int] | NoneÚ
maxversionÚ	old_namesúlist[tuple[str, str]] | NoneÚsharedÚboolÚdefault_enabledÚreturnÚNonec                óN  — |j         | _        |                      |¦  «         || _        || _        || _        || _        || _        || _        || _	        |
| _
        || _        g | _        |	r9|	D ]8\  }}|                      |¦  «         | j                             ||f¦  «         Œ7d S d S ©N)ÚnameÚchecker_nameÚcheck_msgidr   r   r   r   r   r   r   r   r   r   Úappend)Úselfr   r   r   r   r   r   r   r   r   r   r   Ú	old_msgidÚ
old_symbols                 úU/var/www/piapp/venv/lib/python3.11/site-packages/pylint/message/message_definition.pyÚ__init__zMessageDefinition.__init__   sÕ   € ð $œLˆÔØ×Ò˜ÑÔÐØˆŒ
ØˆŒØˆŒØ&ˆÔØˆŒ
Ø$ˆŒØ$ˆŒØˆŒØ.ˆÔØ02ˆŒØð 	Ø)2ð ð Ñ%�	˜:Ø× Ò  Ñ+Ô+Ð+Ø”×%Ò%Ø 
Ð+ñô ð ð ð	ð 	ðð ó    c                ó¤   — t          | ¦  «        dk    rt          d| ›�¦  «        ‚| d         t          vrt          d| d         › d| ›�¦  «        ‚d S )Né   zInvalid message id r   zBad message type z in )Úlenr
   r   )r   s    r)   r$   zMessageDefinition.check_msgid7   sb   € åˆu‰:Œ:˜Š?ˆ?Ý%Ð&E¸EÐ&EÐ&EÑFÔFÐFØ�Œ8�9Ð$Ð$Ý%Ð&Q¸%À¼(Ð&QÐ&QÈÐ&QÐ&QÑRÔRÐRð %Ð$r+   Úotherr   c                ól   — t          |t          ¦  «        o| j        |j        k    o| j        |j        k    S r!   )Ú
isinstancer   r   r   )r&   r/   s     r)   Ú__eq__zMessageDefinition.__eq__>   s7   € å�uÕ/Ñ0Ô0ð ,Ø”
˜eœkÒ)ð,à”˜uœ|Ò+ð	
r+   c                ó(   — d| j         › d| j        › d�S )NzMessageDefinition:ú (ú))r   r   ©r&   s    r)   Ú__repr__zMessageDefinition.__repr__E   s   € Ø@ D¤KÐ@Ð@°4´:Ð@Ð@Ð@Ð@r+   c                ó*   — | ›d| j         › d| j        › �S )Nú:
ú )r   r   r6   s    r)   Ú__str__zMessageDefinition.__str__H   s#   € ØÐ:Ð:˜TœXÐ:Ð:¨Ô(8Ð:Ð:Ð:r+   Ú
py_versionú#tuple[int, ...] | sys._version_infoc                óV   — | j         �| j         |k    rdS | j        �| j        |k    rdS dS )z;May the message be emitted using the configured py_version?NFT)r   r   )r&   r<   s     r)   Úmay_be_emittedz MessageDefinition.may_be_emittedK   s9   € àŒ?Ð&¨4¬?¸ZÒ+GÐ+GØ�5ØŒ?Ð&¨4¬?¸jÒ+HÐ+HØ�5Øˆtr+   Ú
checkerrefc                óÒ  — | j         }|r|d| j        › d�z  }| j        }| j        s| j        r®g }| j        r:|                     dd                     d„ | j        D ¦   «         ¦  «        › �¦  «         | j        r:|                     dd                     d„ | j        D ¦   «         ¦  «        › �¦  «         d                     |¦  «        }|r
|d	|› d�z  }n	|d
|› d�z  }t          d                     |                     ¦   «         ¦  «        d¬¦  «        }| j	        › d| j
        › d�}|dk    r8|                     ¦   «         d         }d|› d|                     d¦  «        › d|› �S d|› d|› �S )z0Return the help string for the given message id.z This message belongs to the z	 checker.z< ú.c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r!   ©r   ©Ú.0Úns     r)   ú	<genexpr>z0MessageDefinition.format_help.<locals>.<genexpr>\   s(   è è € Ð*KÐ*K°a­3¨q©6¬6Ð*KÐ*KÐ*KÐ*KÐ*KÐ*Kr+   z>= c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r!   rD   rE   s     r)   rH   z0MessageDefinition.format_help.<locals>.<genexpr>^   s(   è è € Ð+LÐ+L°q­C°©F¬FÐ+LÐ+LÐ+LÐ+LÐ+LÐ+Lr+   z or z' It can't be emitted when using Python z1 This message can't be emitted when using Python r:   z  )Úindentr4   r5   z%sr   ú:z: *z*
r9   )r   r#   r   r   r   r%   Újoinr   Úsplitr   r   Ú
splitlinesÚrstrip)r&   r@   ÚdescÚtitleÚrestrÚrestrictionÚmsg_helpÚ
message_ids           r)   Úformat_helpzMessageDefinition.format_helpS   s»  € àÔˆØð 	QØÐP°DÔ4EÐPÐPÐPÑPˆDØ”ˆØŒ?ð 	˜dœoð 	ØˆEØŒð OØ—’ÐM #§(¢(Ð*KÐ*K¸4¼?Ð*KÑ*KÔ*KÑ"KÔ"KÐMÐMÑNÔNÐNØŒð PØ—’ÐN 3§8¢8Ð+LÐ+L¸D¼OÐ+LÑ+LÔ+LÑ#LÔ#LÐNÐNÑOÔOÐOØ Ÿ+š+ eÑ,Ô,ˆKØð ØÐPÀ+ÐPÐPÐPÑP��àØVÈÐVÐVÐVñ�õ " #§(¢(¨4¯:ª:©<¬<Ñ"8Ô"8ÀÐFÑFÔFˆØœÐ4Ð4 t¤zÐ4Ð4Ð4ˆ
Ø�DŠ=ˆ=Ø×$Ò$Ñ&Ô& qÔ)ˆEØF�zÐFÐF e§l¢l°3Ñ&7Ô&7ÐFÐF¸HÐFÐFÐFØ,�:Ð,Ð, (Ð,Ð,Ð,r+   Úlineú
int | NoneÚnodeúnodes.NodeNG | Nonec                ó4  — | j         d         t          vr| j        t          j        k    r;|€t          d| j         › d�¦  «        ‚|�t          d| j         › d|› d|› �¦  «        ‚dS | j        t          j        k    r|€t          d| j         › d�¦  «        ‚dS dS dS )z,Check MessageDefinition for possible errors.r   NzMessage z must provide line, got Nonez" must only provide line, got line=z, node=z must provide Node, got None)r   r   r   r	   ÚLINEr
   ÚNODE)r&   rW   rY   s      r)   Úcheck_message_definitionz*MessageDefinition.check_message_definitionm   së   € ð Œ:�aŒ=¥Ð-Ð-ð Œz�\Ô.Ò.Ð.Ø�<Ý-ØK 4¤:ÐKÐKÐKñô ð ð Ð#Ý-ð8 4¤:ð 8ð 8Ø$(ð8ð 8Ø15ð8ð 8ñô ð ð $Ð#ð
 ”�|Ô0Ò0Ð0à�<Ý-ØK 4¤:ÐKÐKÐKñô ð ð! .Ð-ð 1Ð0à�<r+   )NNNFT)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   )r/   r   r   r   )r   r   )r<   r=   r   r   )F)r@   r   r   r   )rW   rX   rY   rZ   r   r   )Ú__name__Ú
__module__Ú__qualname__r*   Ústaticmethodr$   r2   r7   r;   r?   rV   r^   © r+   r)   r   r      sä   € € € € € ð .2Ø-1Ø26ØØ $ðð ð ð ð ðB ðSð Sð Sñ „\ðSð
ð 
ð 
ð 
ðAð Að Að Að;ð ;ð ;ð ;ðð ð ð ð-ð -ð -ð -ð -ð4ð ð ð ð ð r+   r   )Ú
__future__r   ÚsysÚtypingr   r   Úastroidr   Úpylint.constantsr   r   r	   Úpylint.exceptionsr
   Úpylint.utilsr   Úpylint.checkersr   r   rc   r+   r)   ú<module>rl      sä   ðð
 #Ð "Ð "Ð "Ð "Ð "à 
€
€
€
Ø %Ð %Ð %Ð %Ð %Ð %Ð %Ð %à Ð Ð Ð Ð Ð à CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'àð ,Ø+Ð+Ð+Ð+Ð+Ð+ðoð oð oð oð oñ oô oð oð oð or+   