bgddlmZddlmZddlmZddlmZddlm Z m Z m Z m Z m Z ddlmZerddlmZGdd eZddZddZdS)) annotations) TYPE_CHECKING)nodes) BaseChecker) PYMETHODSdecorated_with_propertyis_overload_stubis_protocol_classoverrides_a_method) INFERENCE)PyLintercbeZdZdZddddddgifiZdfd ZddZddZeZddZ ddZ e Z xZ S)NoSelfUseChecker no_self_useR6301zMethod could be a function no-self-usezYUsed when a method doesn't use its bound instance, and so could be written as a function. old_names)R0201zold-no-self-uselinterr returnNonecft|g|_d|_dSN)super__init__ _first_attrs_meth_could_be_func)selfr __class__s n/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pylint/extensions/no_self_use.pyrzNoSelfUseChecker.__init__%s1    .004   node nodes.Namecp|jr,|j|jdks |jds d|_dSdSdS)zYCheck if the name handle an access to a class member if so, register it. FN)rnamerrr"s r visit_namezNoSelfUseChecker.visit_name*sO   - I*2. . .d6G6K .',D $ $ $ - - . .r!nodes.FunctionDefcj|sdSd|_||dS)NT) is_methodr_check_first_arg_for_typer's r visit_functiondefz"NoSelfUseChecker.visit_functiondef3s;~~  F#'  &&t,,,,,r!c|jjr|jjdj}n)|jjr|d}nd}|j||jdkr d|jd<dSdS)z!Check the name of first argument.rN staticmethodr%)args posonlyargsr&argnamesrappendtype)rr" first_args r r,z*NoSelfUseChecker._check_first_arg_for_type;s 9   -a05II Y^  *III   +++ 9 & &$(D b ! ! ! ' &r!c |r|j}|dS|jd}|jr|jdkr|jtvr| sxt||jset|sXt|sKt|s>t|s1|d|t dSdSdSdSdSdSdSdSdSdSdS)zOn method node, check if this method couldn't be a function. ignore class, static and abstract methods, initializer, methods overridden from a parent class. NT)futuremethodr)r" confidence)r+rpopparentframerr4r&r is_abstractr r_has_bare_super_callr r add_messager )rr"first class_nodes r leave_functiondefz"NoSelfUseChecker.leave_functiondefIsP >>   Q%))++E}**$*77J( QI))IY..$$&&/**di@@//t44 / ,D11 / )44 /(--/  Ti PPPPP% Q Q Q Q))..............r!rr rr)r"r#rr)r"r)rr) __name__ __module__ __qualname__r&msgsrr(r-visit_asyncfunctiondefr,rBleave_asyncfunctiondef __classcell__)rs@r rrs D (  ( 78 9   D555555 -------- / ) ) ) )QQQQ4/r!r fundef_noder)rboolc|tjD]8}|j}t |tjr|jdkr |jsdS9dS)NrTF)nodes_of_classrCallfunc isinstanceNamer&r0)rKcallrPs r r>r>fs\**5:66y dEJ ' ' DI,@,@,@44 5r!rr rcJ|t|dSr)register_checkerr)rs r registerrVns% ,V4455555r!N)rKr)rrLrC) __future__rtypingrastroidrpylint.checkersrpylint.checkers.utilsrrr r r pylint.interfacesr pylint.lint.pylinterr rr>rVr!r r_s( #""""" ''''''('''''.------J/J/J/J/J/{J/J/J/Z666666r!