o
    gp                     @   sP   d dl mZ d dlmZ d dlmZ dd Zdd ZG dd	 d	eZd
d Z	dS )    )nodes)BaseChecker)IRawCheckerc                 C   sD   |  d}|dkrdS t| |r t| d| | |d d  S dS )zDChecks if a `# symbol that is not part of a string was found in line   #FN   T)findcomment_part_of_stringis_line_commentedlinecomment_idx r   ]/home/ubuntu/cloudmapper/venv/lib/python3.10/site-packages/pylint/extensions/empty_comment.pyr
      s   

 r
   c                 C   sp   | d|  dd dkr| |d  dd dks4| d|  dd dkr6| |d  dd dkr6dS dS )z7checks if the symbol at comment_idx is part of a stringN   '   r      "TF)countr   r   r   r   r	      s   r	   c                   @   s8   e Zd ZeZdZddiZdZdZde	j
ddfd	d
ZdS )CommentCheckerrefactoringR2044)zLine with empty commentempty-commentzHUsed when a # symbol appears on a line not followed by an actual commentr   r   nodereturnNc                 C   st   |  ,}t|D ]\}}| }|dr't|d d s'| jd|d d q	W d    d S 1 s3w   Y  d S )Nr   r   r   r   )r   )stream	enumeraterstripendswithr
   add_message)selfr   r   line_numr   r   r   r   process_module0   s   

"zCommentChecker.process_module)__name__
__module____qualname__r   __implements__namemsgsoptionspriorityr   Moduler!   r   r   r   r   r       s    	r   c                 C   s   |  t|  d S )N)register_checkerr   )linterr   r   r   register9   s   r-   N)
astroidr   pylint.checkersr   pylint.interfacesr   r
   r	   r   r-   r   r   r   r   <module>   s    