
    eO                    r    d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 erddlmZ  G d d	e      Zdd
Zy)zCheck for use of while loops.    )annotations)TYPE_CHECKING)nodes)BaseChecker)only_required_for_messages)PyLinterc                  6    e Zd ZdZddiZ ed      dd       Zy)WhileChecker
while_usedW0149)zUsed `while` loop
while-usedzUnbounded `while` loops can often be rewritten as bounded `for` loops. Exceptions can be made for cases such as event loops, listeners, etc.r   c                *    | j                  d|       y )Nr   )node)add_message)selfr   s     >/usr/lib/python3/dist-packages/pylint/extensions/while_used.pyvisit_whilezWhileChecker.visit_while   s    D1    N)r   znodes.WhilereturnNone)__name__
__module____qualname__namemsgsr   r    r   r   r
   r
      s/    D 
D  -2 .2r   r
   c                8    | j                  t        |              y )N)register_checkerr
   )linters    r   registerr    $   s    
L01r   N)r   r   r   r   )__doc__
__future__r   typingr   astroidr   pylint.checkersr   pylint.checkers.utilsr   pylint.lintr   r
   r    r   r   r   <module>r(      s0   
 $ "    ' <$2; 2 2r   