bg` dZddlmZddlZddlmZddlZddlmZddlm Z ddl m Z ddl m Z erdd lmZddZGdde jZddZdS)zLooks for comparisons to zero.) annotationsN) TYPE_CHECKING)nodes)checkers)utils)HIGH)PyLinternodestr | nodes.NodeNGreturnboolc^t|tjo|jdko|jduS)NrF) isinstanceastroidConstvalue)r s p/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pylint/extensions/comparetozero.py_is_constant_zerors0 4''WDJ!OW RW@WcVeZdZdZdZddiZdZejdd d Z d S) CompareToZeroCheckerzChecks for comparisons to zero. Most of the time you should use the fact that integers with a value of 0 are false. An exception to this rule is when 0 is allowed in the program and has a different meaning than None! compare-to-zeroC2001)z-"%s" can be simplified to "%s" as 0 is falseyrz4Used when Pylint detects comparison to a 0 constant.r nodes.Comparer Nonecgd}d|jfg}||jt|}t t j|}tt|dz D]}||}||dz}||dz} d} t|r ||vrd} | } n||vrt| rd} |} | r}| d|d| } |dvr| nd | } | d | | f|t dS) N)!=z==is notisFT >rrznot r)argsr confidence) leftextendopsiterlist itertoolschainrangelenr as_string add_messager)selfr _operatorsr)iter_opsall_opsops_idxop_1op_2op_3error_detectedoporiginal suggestions r visit_comparez"CompareToZeroChecker.visit_compare3s211 13DI.? 4899y122S\\A-..  G7#D7Q;'D7Q;'D"N!&& 4:+=+=!%##(9$(?(?#!% "nn..JJJJ8H8HJJ///LLNNN0 00   %"J/# !-  rN)r rr r) __name__ __module__ __qualname____doc__namemsgsoptionsronly_required_for_messagesr>rrrrrsh D  DG%U%&788'''98'''rrlinterr rcJ|t|dS)N)register_checkerr)rGs rregisterrJ^s% 08899999r)r r r r )rGr r r)rB __future__rr,typingrrrpylintrpylint.checkersrpylint.interfacesr pylint.lintr r BaseCheckerrrJrrrrRs %$"""""" !!!!!!""""""%$$$$$$<<<<<8/<<<~::::::r