bg dZddlmZddlmZddlmZddlmZddl m Z ddl m Z Gdd ej ZddZdS)zPOptional checker to warn when loop variables are overwritten in the loop's body.) annotations)nodes)checkers)utils)HIGH)PyLinterceZdZdZddiZdfd Zejddd Zejddd Z ejdddZ xZ S)RedefinedLoopNameCheckerredefined-loop-nameW2901)z!Redefining %r from loop (line %s)r z:Used when a loop variable is overwritten in the loop body.linterrreturnNonecXt|g|_dSN)super__init___loop_variables)selfr __class__s v/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/pylint/extensions/redefined_loop_name.pyrz!RedefinedLoopNameChecker.__init__s.      nodenodes.AssignNamecb|}t|tjtjfsdS|}|jD]V\}}}||ur |j|vrBtj ||s-| d|j|j f|tdSWdS)Nr argsr confidence) assign_type isinstancerAssign AugAssignscopernamerin_for_else_branch add_message fromlinenor)rrr node_scope outer_forouter_variablesouter_for_scopes rvisit_assignnamez)RedefinedLoopNameChecker.visit_assignname"s&&(( + eo'FGG  FZZ\\ ;?;O   7I00yO++E4L455+  ))Y%9:# !   r nodes.Forcd|jtjD}fd|D}|}|D]U}jD]K\}}}||ur ||vrz6RedefinedLoopNameChecker.visit_for..8sTTT!qvTTTrc\g|](}jjj|&|)Sr0)r configdummy_variables_rgxmatch)r1varrs rr3z6RedefinedLoopNameChecker.visit_for..:sE   ;%9??DD    rr r) targetnodes_of_classr AssignNamer#rrr%r&r'rappend)rr assigned_tor(variabler)r*r+s` r visit_forz"RedefinedLoopNameChecker.visit_for6s TTt{'A'A%BR'S'STTT     "   ZZ\\ #  H?C?S  ; ?O_44..u7Ot88.$$-& (<=!#' % E ##T; $EFFFFFrc8|jdSr)rpop)rrs r leave_forz"RedefinedLoopNameChecker.leave_forRs   """""rr rrr)rrrr)rr-rr) __name__ __module__ __qualname__r$msgsrronly_required_for_messagesr,r?rB __classcell__)rs@rr r s D   D &U%&;<<=<&&U%&;<<GGG=<G6&U%&;<<###=<#####rr r rrrcJ|t|dSr)register_checkerr )r s rregisterrLWs% 4V<<=====rNrC)__doc__ __future__rastroidrpylintrpylint.checkersrpylint.interfacesr pylint.lintr BaseCheckerr rLr0rrrUs WV""""""!!!!!!"""""" C#C#C#C#C#x3C#C#C#L>>>>>>r