OwlCyberSecurity - MANAGER
Edit File: nested_min_max.cpython-311.pyc
� ������h�����������������������������d�Z�ddlmZ�ddlZddlmZ�ddlmZmZ�ddl m Z �ddlmZm Z �ddlmZ�erdd lmZ�ej��������ej��������ej��������ej��������j��������fZ�G�d ��de ������������Zdd�ZdS�)z*Check for use of nested min/max functions.�����)�annotationsN)� TYPE_CHECKING)�nodes�objects)�BaseChecker)�only_required_for_messages� safe_infer)� INFERENCE)�PyLinterc�������������������|�����e�Zd�ZdZdZdZddiZedd ���������������Zedd ���������������Z �e d������������dd���������������ZdS�)�NestedMinMaxCheckerz�Multiple nested min/max calls on the same line will raise multiple messages. This behaviour is intended as it would slow down the checker to check for nested call with minimal benefits. )zbuiltins.minzbuiltins.max�nested_min_max�W3301)z@Do not use nested call of '%s'; it's possible to do '%s' instead�nested-min-maxzHNested calls ``min(1, min(2, 3))`` can be rewritten as ``min(1, 2, 3)``.�node�nodes.NodeNG�return�boolc�����������������������t����������|t����������j��������������������sdS�t����������|j��������������������}t����������|t����������j��������������������o|�����������������������������������|�j��������v�S�)NF)� isinstancer����Callr ����func�FunctionDef�qname� FUNC_NAMES)�clsr����inferreds��� �o/builddir/build/BUILD/cloudlinux-venv-1.0.8/venv/lib/python3.11/site-packages/pylint/checkers/nested_min_max.py�is_min_max_callz#NestedMinMaxChecker.is_min_max_call/���sX�������$�� �+�+�� ��5��d�i�(�(���x��!2�3�3�� 3���� � �C�N�2� ������ nodes.Call�list[nodes.Call]c�����������������.�����������fd��j���������D���������������S�)Nc�����������������r������g�|�]3}�����������������������|������������r|j��������j���������j��������j��������k�����1|��4S���)r���r����name)�.0�argr���r���s��� ��r���� <listcomp>z;NestedMinMaxChecker.get_redundant_calls.<locals>.<listcomp><���sN�������� �� �� ���"�"�3�'�'� ��-0�H�M�T�Y�^�,K�,K�� �,K�,K�,Kr ���)�args)r���r���s���``r����get_redundant_callsz'NestedMinMaxChecker.get_redundant_calls:���s6�������� �� �� �� �� ��y� �� �� �� r ���r����Nonec����������������� ����|�����������������������|������������sd�S�|����������������������|������������}|sd�S�t����������j��������|������������}t����������|������������dk����r�t ����������|j��������������������D�]u\��}}t ����������|t����������j��������������������r!t����������d��|j��������D���������������������������r�d�S�||v�r1|j��������d�|����������|j��������z���|j��������|dz���d�����������z���|_���������n�v|����������������������|������������}t����������|������������dk������t ����������|j��������������������D�]�\��}}t ����������|t����������j ��������������������s�t����������|������������}t ����������|t����������j��������t����������j ��������t����������j��������gt�����������R�������������rLt����������j��������|j���������������������}||_��������|j��������d�|����������|gz���|j��������|dz���|����������z���|_����������|����������������������d||j��������j��������|�����������������������������������ft.������������������������d�S�)Nr���c��������������3���J���K����|�]}t����������|t����������j��������������������V����d�S��N)r���r����GeneratorExp)r'����as��� r���� <genexpr>z1NestedMinMaxChecker.visit_call.<locals>.<genexpr>P���s@�����������7��7�:;�J�q�%�"4�5�5�7��7��7��7��7��7r �������)�linenor���)r���r*���� confidence)r���r+����copy�len� enumerater*���r���r���r����any�Constr ����List�Tuple�Set� DICT_TYPES�Starredr4����value�add_messager���r&���� as_stringr ���) �selfr����redundant_calls� fixed_node�ir(����idxr���� splat_nodes ��� r���� visit_callzNestedMinMaxChecker.visit_callB���sB������#�#�D�)�)�� ��F��2�2�4�8�8���� ��F��Y�t�_�_� ��/�"�"�Q�&�&�#�J�O�4�4�� �� ���3���c�5�:�.�.���3��7��7�?B�x�7��7��7��4��4�����F�F��/�)�)�"�����+�c�h�6����Q����9Q�Q���O���E� �*��#�6�6�z�B�B�O���/�"�"�Q�&�&�"�"�*�/�2�2�� �� �H�C���c�5�;�/�/�� �%�c�?�?����u�z�5�;�� �O�J�O�O����� ��"'��h�o�!F�!F�!F�J�'*�J�$�"�����-�%�,�'�$�/�#��'�C�-�8�9���O��� ������)�.�*�"6�"6�"8�"8�9� � � �� �� �� �� �� r ���N)r���r���r���r���)r���r!���r���r"���)r���r!���r���r,���)�__name__� __module__�__qualname__�__doc__r���r&����msgs�classmethodr���r+���r���rI���r%���r ���r���r ���r ������s�������������������2�J��D��� ��D��� �� �� ���[� ��� �� �� ���[� �� �� 0�1�1�- ��- ��- ��2�1�- ��- ��- r ���r ����linterr���r���r,���c�����������������J�����|�����������������������t����������|��������������������������d�S�r/���)�register_checkerr ���)rP���s��� r����registerrS���s���s%������ ���/��7�7�8�8�8�8�8r ���)rP���r���r���r,���)rM���� __future__r���r6����typingr����astroidr���r����pylint.checkersr����pylint.checkers.utilsr���r ����pylint.interfacesr ����pylint.lintr���� DictValues�DictKeys� DictItems�node_classes�Dictr>���r ���rS���r%���r ���r����<module>r`������s���� �1��0��"��"��"��"��"��"������� �� �� �� �� �� ��"��"��"��"��"��"��"��"��'��'��'��'��'��'��H��H��H��H��H��H��H��H��'��'��'��'��'��'���%�$�$�$�$�$�$�������� ��� � �S ��S ��S ��S ��S �+��S ��S ��S �l9��9��9��9��9��9r ���