bg XddlZddlmZddlmZddlmZGddejZdS)N)nodes)checkers)utilsc eZdZdZddiZdZddddd d d d d ZejfZ ddDZ e j ddej ddfdZdS) NotCheckerzChecks for too many not in comparison expressions. - "not not" should trigger a warning - "not" followed by a comparison should trigger a warning C0113)zConsider changing "%s" to "%s" unneeded-notz=Used when a boolean expression contains an unneeded negation. refactoring>=><=<!===znot inzis not)rr r r rriniscg|]}d|S)z builtins.).0qnames x/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pylint/checkers/refactoring/not_checker.py zNotChecker.)s!PPP%-e--PPP)set frozensetr nodereturnNc|jdkrdS|j}t|tjrP|jdkrE|d|||jfdSt|tjrL|j}t|j dkrdS|j d\}}||j vrdS| d}|j dkr|d krdStj|tj|fD]W}|sdSt||jrdSt|t"jr||jvrdSX|d |j |d |}|d|||fdSdS) Nnotr )rargsrT)future__ne__r )opoperand isinstancerUnaryOp add_message as_stringCompareleftlenops reverse_opframenamer node_type skipped_nodesastroidInstancerskipped_classnames) selfrr&r,operatorrightr0_type suggestions r visit_unaryopzNotChecker.visit_unaryop+s 7e   F, gu} - -! '*2E2E   nn&&(A(A(C(CD        / / >##UUdoh&?UU%//BSBSUU    T1A1A:0N      3  r)__name__ __module__ __qualname____doc__msgsr1r/rSetr3r6ronly_required_for_messagesr(r<rrrrr s   D D    JYLMPP;OPPP%U%n55&%-&D&&&65&&&rr)r4rpylintrpylint.checkersr BaseCheckerrrrrrGs !!!!!!FFFFF%FFFFFr