관리-도구
편집 파일: confusing_elif.cpython-311.pyc
� �܋f� � �v � d dl mZ d dlmZ d dlmZ d dlmZ d dlm Z erd dl mZ G d� de� � Zdd �Z dS )� )�annotations)� TYPE_CHECKING)�nodes)�BaseChecker)�only_required_for_messages)�PyLinterc �` � e Zd ZdZdZddiZ ed� � dd �� � Zedd�� � Z d S )�ConfusingConsecutiveElifCheckerziChecks if "elif" is used right after an indented block that finishes with "if" or "elif" itself. �confusing_elif�R5601)zjConsecutive elif with differing indentation level, consider creating a function to separate the inner elif�confusing-consecutive-elifa Used when an elif statement follows right after an indented block which itself ends with if or elif. It may not be ovious if the elif statement was willingly or mistakenly unindented. Extracting the indented if statement into a separate function might avoid confusion and prevent errors.r �node�nodes.If�return�Nonec � � t |j d t j � � o| � |j d � � }|� � � r&|r&| � d|j d �� � d S d S d S )N���r r )r )� isinstance�bodyr �If�_has_no_else_clause�has_elif_block�add_message�orelse)�selfr �body_ends_with_ifs �q/builddir/build/BUILD/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/pylint/extensions/confusing_elif.py�visit_ifz(ConfusingConsecutiveElifChecker.visit_if$ s� � �&��I�b�M�5�8� � � 6��&�&�t�y��}�5�5� � ��� � � P�%6� P����9���A���O�O�O�O�O� P� P� P� P� �boolc � � | j }|rOt |d t j � � r/|d j }|r t |d t j � � �/|r t |d t j � � rdS dS )Nr TF)r r r r )r r s r r z3ConfusingConsecutiveElifChecker._has_no_else_clause, s~ � ����� &��F�1�I�u�x�8�8� &��A�Y�%�F� � &��F�1�I�u�x�8�8� &�� ��F�1�I�u�x�8�8� ��4��ur N)r r r r )r r r r ) �__name__� __module__�__qualname__�__doc__�name�msgsr r �staticmethodr � r r r r s� � � � � � �� � �D�� � �D� �� <�=�=�P� P� P� >�=�P� �� � � �\�� � r r �linterr r r c �J � | � t | � � � � d S )N)�register_checkerr )r* s r �registerr- 6 s% � � ���;�F�C�C�D�D�D�D�Dr N)r* r r r )� __future__r �typingr �astroidr �pylint.checkersr �pylint.checkers.utilsr �pylint.lintr r r- r) r r �<module>r4 s� �� #� "� "� "� "� "� � � � � � � � � � � � � '� '� '� '� '� '� <� <� <� <� <� <�� %�$�$�$�$�$�$�!� !� !� !� !�k� !� !� !�HE� E� E� E� E� Er