§
    öyIfÂ  ã                  ó‚   — d Z 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
mZmZ erddlmZ  G d„ d	e¦  «        Zdd„ZdS )zmChecker for features used that are not supported by all python versions
indicated by the py-version setting.
é    )Úannotations)ÚTYPE_CHECKING)Únodes)ÚBaseChecker)Úonly_required_for_messagesÚ
safe_inferÚuninferable_final_decorators)ÚPyLinterc                  ó„   — e Zd ZdZdZdddœZdd„Z ed	¦  «        dd„¦   «         Z ed¦  «        dd„¦   «         Z	dd„Z
dS )ÚUnsupportedVersionCheckerzpChecker for features that are not supported by all python versions
    indicated by the py-version setting.
    Úunsupported_version)zNF-strings are not supported by all versions included in the py-version settingú%using-f-string-in-unsupported-versionz]Used when the py-version set by the user is lower than 3.6 and pylint encounters an f-string.)zPtyping.final is not supported by all versions included in the py-version settingú,using-final-decorator-in-unsupported-versionznUsed when the py-version set by the user is lower than 3.8 and pylint encounters a ``typing.final`` decorator.)ÚW2601ÚW2602ÚreturnÚNonec                óT   — | j         j        j        }|dk    | _        |dk    | _        dS )z*Initialize visit variables and statistics.)é   é   )r   é   N)ÚlinterÚconfigÚ
py_versionÚ
_py36_plusÚ
_py38_plus)Úselfr   s     úW/var/www/piapp/venv/lib/python3.11/site-packages/pylint/checkers/unsupported_version.pyÚopenzUnsupportedVersionChecker.open/   s+   € à”[Ô'Ô2ˆ
Ø$¨Ò.ˆŒØ$¨Ò.ˆŒˆˆó    r   Únodeúnodes.JoinedStrc                óF   — | j         s|                      d|¬¦  «         dS dS )zCheck f-strings.r   ©r!   N)r   Úadd_message©r   r!   s     r   Úvisit_joinedstrz)UnsupportedVersionChecker.visit_joinedstr5   s;   € ð Œð 	QØ×ÒÐDÈ4ÐÑPÔPÐPÐPÐPð	Qð 	Qr    r   únodes.Decoratorsc                ó0   — |                       |¦  «         dS )zCheck decorators.N)Ú_check_typing_finalr&   s     r   Úvisit_decoratorsz*UnsupportedVersionChecker.visit_decorators;   s   € ð 	× Ò  Ñ&Ô&Ð&Ð&Ð&r    c                ó  — | j         rdS g }|                     ¦   «         D ]@}t          |¦  «        }|r-|                     ¦   «         dk    r|                     |¦  «         ŒA|pt          |¦  «        D ]}|                      d|¬¦  «         ŒdS )znAdd a message when the `typing.final` decorator is used and the
        py-version is lower than 3.8.
        Nztyping.finalr   r$   )r   Úget_childrenr   ÚqnameÚappendr	   r%   )r   r!   Ú
decoratorsÚ	decoratorÚinferreds        r   r*   z-UnsupportedVersionChecker._check_typing_final@   s¿   € ð Œ?ð 	ØˆFàˆ
Ø×*Ò*Ñ,Ô,ð 	-ð 	-ˆIÝ! )Ñ,Ô,ˆHØð -˜HŸNšNÑ,Ô,°Ò>Ð>Ø×!Ò! )Ñ,Ô,Ð,øà#ÐIÕ'CÀDÑ'IÔ'Ið 	ð 	ˆIØ×ÒØ>ÀYð ñ ô ð ð ð	ð 	r    N)r   r   )r!   r"   r   r   )r!   r(   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚmsgsr   r   r'   r+   r*   © r    r   r   r      sÃ   € € € € € ðð ð !€Dð
ð
ðð €Dð/ð /ð /ð /ð  ÐÐ GÑHÔHðQð Qð Qñ IÔHðQð
  ÐÐ NÑOÔOð'ð 'ð 'ñ PÔOð'ðð ð ð ð ð r    r   r   r
   r   r   c                óJ   — |                       t          | ¦  «        ¦  «         d S )N)Úregister_checkerr   )r   s    r   Úregisterr<   S   s%   € Ø
×ÒÕ5°fÑ=Ô=Ñ>Ô>Ð>Ð>Ð>r    N)r   r
   r   r   )r6   Ú
__future__r   Útypingr   Úastroidr   Úpylint.checkersr   Úpylint.checkers.utilsr   r   r	   Úpylint.lintr
   r   r<   r9   r    r   ú<module>rC      sð   ðð
ð ð #Ð "Ð "Ð "Ð "Ð "à  Ð  Ð  Ð  Ð  Ð  à Ð Ð Ð Ð Ð à 'Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð ð ð ð ð ð ð ð ð %Ø$Ð$Ð$Ð$Ð$Ð$ð6ð 6ð 6ð 6ð 6 ñ 6ô 6ð 6ðr?ð ?ð ?ð ?ð ?ð ?r    