o
    g
                     @   sl   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddgZ	ddiZ
e
d e
d< G d	d
 d
eZdd ZdS )z Checker for deprecated builtins.    )nodes)BaseChecker)check_messages)IAstroidCheckermapfilterz*Using a list comprehension can be clearer.c                   @   sN   e Zd ZefZdZddiZdeddddffZe	d	d
e
jddfddZdS )BadBuiltinCheckerdeprecated_builtinsW0141)zUsed builtin function %sbad-builtinzUsed when a disallowed builtin function is used (see the bad-function option). Usual disallowed functions are the ones like map, or filter , where Python offers now some cleaner alternative like list comprehension.zbad-functionscsvz<builtin function names>zMList of builtins function names that should not be used, separated by a comma)defaulttypemetavarhelpr   nodereturnNc                 C   s   t |jtjr9|jj}|| v s;|| v s=|| jjv r?t	
|}|r+|d| nt|}| jd||d d S d S d S d S d S )Nz. r   )r   args)
isinstancefuncr   Namenameframerootconfigbad_functionsBUILTIN_HINTSgetrepradd_message)selfr   r   hintr    r"   [/home/ubuntu/cloudmapper/venv/lib/python3.10/site-packages/pylint/extensions/bad_builtin.py
visit_call6   s   
zBadBuiltinChecker.visit_call)__name__
__module____qualname__r   __implements__r   msgsBAD_FUNCTIONSoptionsr   r   Callr$   r"   r"   r"   r#   r      s    r   c                 C   s   |  t|  dS )zRequired method to auto register this checker.

    :param linter: Main interface object for Pylint plugins
    :type linter: Pylint object
    N)register_checkerr   )linterr"   r"   r#   registerC   s   r/   N)__doc__astroidr   pylint.checkersr   pylint.checkers.utilsr   pylint.interfacesr   r*   r   r   r/   r"   r"   r"   r#   <module>   s   )