bgddlmZddlZddlZddlmZddlmZddlm Z m Z ddl m Z e r ddl mZddlmZe e jgdfZGd d ZdS) ) annotationsN) defaultdict)Sequence) TYPE_CHECKINGCallable)nodes) BaseChecker)PyLinterc.eZdZddZdd Zdd ZddZdS) ASTWalkerlinterr returnNonecd|_tt|_tt|_||_d|_dS)NrF) nbstatementsrlist visit_events leave_eventsr exception_msg)selfr s h/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pylint/utils/ast_walker.py__init__zASTWalker.__init__s?ALTARARALTARAR "method AstCallbackboolcht|dsdStfd|jDS)N checks_msgsTc3LK|]}j|VdS)N)r is_message_enabled).0mrs r z/ASTWalker._is_method_enabled..(s3QQ4;11!44QQQQQQr)hasattranyr)rrs` r_is_method_enabledzASTWalker._is_method_enabled%s@v}-- 4QQQQf>PQQQQQQrcheckerr ct}t}|j}|j}t|D]}|dd}|dkr|drVt ||}||r0|||||~|drUt ||} || r0||| ||t |dd} | rGtj D]<} | j }||vr||| ;dSdS)z>Walk to the checker's dir and collect visit and leave methods.Ndefaultvisit_leave_ visit_default) setrrdir startswithgetattrr&appendaddrALL_NODE_CLASSES__name__lower) rr'vcidslcidsvisitsleavesmembercidv_methl_methr-clss r add_checkerzASTWalker.add_checker*s%%%%""'ll # #F*Ci  ** # &11**622#3K&&v...IIcNNN""8,, # &11**622#3K&&v...IIcNNN$??  6- 6 6l((**e##3K&&}555  6 6 6 6rastroid nodes.NodeNGc~|jj}|j|d}|j|d} |jr|xjdz c_|D] }|||D]}| ||D] }||dS#t$rw|j durlt| dd}tdt|d|dt j t%jd |_ wxYw) zvCall visit events of astroid checkers for the given node, recurse on its children, then leave events. FfileNzException on node z in file '')rFT) __class__r5r6rgetr is_statementr get_childrenwalk Exceptionrr1rootprintreprsysstderr traceback print_exc)rrAr<rrcallbackchildrFs rrLzASTWalker.walkHs(..00 /3.?.C.CC.L.L .2.?.C.CC.L.L  # '!!Q&!!( " "!!!! --// ! ! %    ( " "!!!! " "   !U**w||~~vt<<IgII$III#%%%%)"  sA#B;;BD<N)r r rr)rrrr)r'r rr)rArBrr)r5 __module__ __qualname__rr&r@rLrDrrr r sh####RRRR 6666<""""""rr ) __future__rrQrS collectionsrcollections.abcrtypingrrrArpylint.checkers.base_checkerr pylint.lintr NodeNGrr rDrrr`s #""""" ######$$$$$$********%888888$$$$$$ ~t+, NNNNNNNNNNr