bgdZddlmZddlZddlmZddlmZmZddl m Z erddl m Z ddl mZdd lmZd ZGd d eZed dZeddZeddZeddZeddZeeeeegZdeDZGddZd+d ZGd!d"eZGd#d$eZGd%d&eZGd'd(eZGd)d*eZ dS),zInterfaces for Pylint objects.) annotationsN) TokenInfo) TYPE_CHECKING NamedTuple)nodes) BaseChecker)Message)Section) IRawCheckerIAstroidChecker ITokenChecker IReporterICheckerHIGH CONTROL_FLOW INFERENCEINFERENCE_FAILURE UNDEFINEDCONFIDENCE_LEVELSCONFIDENCE_LEVEL_NAMESc$eZdZUded<ded<dS) Confidencestrname descriptionN)__name__ __module__ __qualname____annotations__b/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pylint/interfaces.pyrr$s' IIIr!rrz.Warning that is not based on inference result.rz0Warning based on assumptions about control flow.rz"Warning based on inference result.rz)Warning based on inference with failures.rz0Warning without any associated confidence level.cg|] }|j Sr )r).0is r" r&5s<<tjdtddS)Nz[Interface and all of its subclasses have been deprecated and will be removed in pylint 3.0. stacklevel)warningswarnDeprecationWarningselfs r"__init__zInterface.__init__;s0  1        r!cls-type[Interface] | tuple[type[Interface], ...]instancerboolctj5tjdtt ||cdddS#1swxYwYdS)Nignore)category)r/catch_warningsfilterwarningsr1 implements)r5r7s r"is_implemented_byzInterface.is_implemented_byCs $ & & - -  #H7I J J J Jh,, - - - - - - - - - - - - - - - - - -s+A  AANr)r*)r5r6r7rr)r8)rrr__doc__r4 classmethodr?r r!r"r(r(8sN$$    ---[---r!r(objr interfacer6r)r8ctjdtdt|dd}t |t t fs|f}tfd|DS)zKDoes the given object (maybe an instance or class) implement the interface.zjimplements has been deprecated in favour of using basic inheritance patterns without using __implements__.r,r-__implements__r c38K|]}t|VdS)N) issubclass)r$r%rDs r" zimplements..[s-==Az!Y''======r!)r/r0r1getattr isinstancelisttupleany)rCrD implements_s ` r"r>r>Ls}  M =  #/44K kD%= 1 1%"n ======= = ==r!c"eZdZdZddZddZdS)rz>Base interface, to be used only for sub interfaces definition.r)r*cdS)z5Called before visiting project (i.e. set of modules).Nr r2s r"openz IChecker.openar!cdS)z4Called after visiting project (i.e. set of modules).Nr r2s r"closezIChecker.closedrSr!Nr@)rrrrArRrUr r!r"rr^sLHHDDDDCCCCCCr!rceZdZdZddZdS) r z7Interface for checker which need to parse the raw file.node nodes.Moduler)r*cdS)z]Process a module. The module's content is accessible via ``astroid.stream`` Nr )r3rWs r"process_modulezIRawChecker.process_modulekrSr!N)rWrXr)r*)rrrrArZr r!r"r r hs.AA      r!r ceZdZdZddZdS) r z:Interface for checkers that need access to the token list.tokenslist[TokenInfo]r)r*cdS)z[Process a module. Tokens is a list of all source code tokens in the file. Nr )r3r\s r"process_tokenszITokenChecker.process_tokensurSr!N)r\r]r)r*)rrrrAr_r r!r"r r rs.DD      r!r ceZdZdZdS)r zXInterface for checker which prefers receive events according to statement type. N)rrrrAr r!r"r r |sr!r c"eZdZdZd dZd d Zd S) rzGReporter collect messages and display results encapsulated in a layout.msgr r)r*cdS)z Handle the given message object.Nr )r3rbs r"handle_messagezIReporter.handle_messagerSr!layoutr cdS)z0Display results encapsulated in the layout tree.Nr )r3res r"display_reportszIReporter.display_reportsrSr!N)rbr r)r*)rer r)r*)rrrrArdrgr r!r"rrsBQQ////??????r!r)rCrrDr6r)r8)!rA __future__rr/tokenizertypingrrastroidrpylint.checkersrpylint.messager pylint.reporters.ureports.nodesr __all__rrrrrrrrr(r>rr r r rr r!r"rps %$"""""",,,,,,,,8++++++&&&&&&777777   z&JKKzF  J{$H I I JD J{$V W W <4EyQ<<*;<<<--------(>>>>$CCCCCyCCC     (        H   h ????? ?????r!