Your IP : 18.218.106.24
�
��bg�����dZddlmZddlZddlmZddlmZmZddl m
Z
erddlmZddl
mZdd lmZd
ZGd�de��Zed
d��Zedd��Zedd��Zedd��Zedd��ZeeeeegZd�eD��ZGd�d��Zd+d �ZGd!�d"e��ZGd#�d$e��ZGd%�d&e��ZGd'�d(e��ZGd)�d*e��Z dS),zInterfaces for Pylint objects.�)�annotationsN)� TokenInfo)�
TYPE_CHECKING�
NamedTuple)�nodes)�BaseChecker)�Message)�Section)�IRawChecker�IAstroidChecker�
ITokenChecker� IReporter�IChecker�HIGH�CONTROL_FLOW� INFERENCE�INFERENCE_FAILURE� UNDEFINED�CONFIDENCE_LEVELS�CONFIDENCE_LEVEL_NAMESc�$�eZdZUded<ded<dS)�
Confidence�str�name�descriptionN)�__name__�
__module__�__qualname__�__annotations__���b/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pylint/interfaces.pyrr$s'�������
�I�I�I������r!rrz.Warning that is not based on inference result.rz0Warning based on assumptions about control flow.rz"Warning based on inference result.rz)Warning based on inference with failures.rz0Warning without any associated confidence level.c��g|] }|j��
Sr )r)�.0�is r"�
<listcomp>r&5s��<�<�<�Q�!�&�<�<�<r!c�2�eZdZdZdd�Zed
d
���ZdS)� InterfacezBase class for interfaces.�return�Nonec�>�tjdtd���dS)Nz[Interface and all of its subclasses have been deprecated and will be removed in pylint 3.0.���
stacklevel)�warnings�warn�DeprecationWarning��selfs r"�__init__zInterface.__init__;s0���
�
1���
�
�
�
�
�
r!�cls�-type[Interface] | tuple[type[Interface], ...]�instancer�boolc��tj��5tjdt���t ||��cddd��S#1swxYwYdS)N�ignore)�category)r/�catch_warnings�filterwarningsr1�
implements)r5r7s r"�is_implemented_byzInterface.is_implemented_byCs����
$�
&�
&� -� -��#�H�7I�J�J�J�J��h��,�,� -� -� -� -� -� -� -� -� -� -� -� -���� -� -� -� -� -� -s�+A�A�AN�r)r*)r5r6r7rr)r8)rrr�__doc__r4�classmethodr?r r!r"r(r(8sN������$�$�
�
�
�
��-�-�-��[�-�-�-r!r(�objr� interfacer6r)r8c����tjdtd���t|dd��}t |t
tf��s|f}t�fd�|D����S)zKDoes the given object (maybe an instance or class) implement the interface.zjimplements has been deprecated in favour of using basic inheritance patterns without using __implements__.r,r-�__implements__r c3�8�K�|]}t|���V��dS)N)�
issubclass)r$r%rDs �r"� <genexpr>zimplements.<locals>.<genexpr>[s-�����=�=�A�z�!�Y�'�'�=�=�=�=�=�=r!)r/r0r1�getattr�
isinstance�list�tuple�any)rCrD�implements_s ` r"r>r>Ls}���
�M� =��� �����#�/��4�4�K��k�D�%�=�1�1�%�"�n���=�=�=�=��=�=�=�=�=�=r!c�"�eZdZdZdd�Zdd�ZdS)rz>Base interface, to be used only for sub interfaces definition.r)r*c��dS)z5Called before visiting project (i.e. set of modules).Nr r2s r"�openz
IChecker.opena����r!c��dS)z4Called after visiting project (i.e. set of modules).Nr r2s r"�closezIChecker.closedrSr!Nr@)rrrrArRrUr r!r"rr^sL������H�H�D�D�D�D�C�C�C�C�C�Cr!rc��eZdZdZdd�ZdS) rz7Interface for checker which need to parse the raw file.�node�nodes.Moduler)r*c��dS)z]Process a module.
The module's content is accessible via ``astroid.stream``
Nr )r3rWs r"�process_modulezIRawChecker.process_modulekrSr!N)rWrXr)r*)rrrrArZr r!r"rrhs.������A�A������r!rc��eZdZdZdd�ZdS) r
z:Interface for checkers that need access to the token list.�tokens�list[TokenInfo]r)r*c��dS)z[Process a module.
Tokens is a list of all source code tokens in the file.
Nr )r3r\s r"�process_tokenszITokenChecker.process_tokensurSr!N)r\r]r)r*)rrrrAr_r r!r"r
r
rs.������D�D������r!r
c��eZdZdZdS)rzXInterface for checker which prefers receive events according to
statement type.
N)rrrrAr r!r"rr|s���������r!rc�"�eZdZdZdd�Zdd �Zd
S)
rzGReporter collect messages and display results encapsulated in a layout.�msgr r)r*c��dS)z Handle the given message object.Nr )r3rbs r"�handle_messagezIReporter.handle_message�rSr!�layoutr
c��dS)z0Display results encapsulated in the layout tree.Nr )r3res r"�display_reportszIReporter.display_reports�rSr!N)rbr r)r*)rer
r)r*)rrrrArdrgr r!r"rr�sB������Q�Q�/�/�/�/�?�?�?�?�?�?r!r)rCrrDr6r)r8)!rA�
__future__rr/�tokenizer�typingrr�astroidr�pylint.checkersr�pylint.messager �pylint.reporters.ureports.nodesr
�__all__rrrrrrrrr(r>rrr
rrr r!r"�<module>rps���
%�$�"�"�"�"�"�"�����������,�,�,�,�,�,�,�,��������8�+�+�+�+�+�+�&�&�&�&�&�&�7�7�7�7�7�7�
�� ����������z�&�J�K�K���z��F����
�J�{�$H�I�I� ��J��D����
�J�{�$V�W�W� ��<��4E�y�Q��<�<�*;�<�<�<��-�-�-�-�-�-�-�-�(>�>�>�>�$C�C�C�C�C�y�C�C�C������(���������H���������h����?�?�?�?�?� �?�?�?�?�?r!
?>