
    c                        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 dd	gZd
ZeedZ G d de          ZddZdS )z Checker for deprecated builtins.    )annotations)TYPE_CHECKING)nodes)BaseChecker)only_required_for_messages)PyLintermapfilterz*Using a list comprehension can be clearer.)r	   r
   c                  X    e Zd ZdZddiZdeddddffZ ed	          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
nodes.CallreturnNonec                   t          |j        t          j                  r|j        j        }||                    d          v sw||                                v sc|| j        j        j	        v rRt                              |          }|r|d| nt          |          }|                     d||           d S d S d S d S d S )NT)futurez. r   )r   args)
isinstancefuncr   Namenameframerootlinterconfigbad_functionsBUILTIN_HINTSgetrepradd_message)selfr   r   hintr   s        =lib/python3.11/site-packages/pylint/extensions/bad_builtin.py
visit_callzBadBuiltinChecker.visit_call3   s    di,, 	J9>D DJJdJ333 Jttyy{{7J J4;-;; J(,,T22D26Fd.....DJJD$$]D$IIIII	J 	JJ J J JJ J    N)r   r   r   r   )	__name__
__module____qualname__r   msgsBAD_FUNCTIONSoptionsr   r,    r-   r+   r   r      s         D 
	D (5-	 		
G  ..	J 	J 	J /.	J 	J 	Jr-   r   r"   r   r   r   c                J    |                      t          |                      d S )N)register_checkerr   )r"   s    r+   registerr7   @   s%    
-f5566666r-   N)r"   r   r   r   )__doc__
__future__r   typingr   astroidr   pylint.checkersr   pylint.checkers.utilsr   pylint.lintr   r2   LIST_COMP_MSGr%   r   r7   r4   r-   r+   <module>r@      s   
 ' & " " " " " "                   ' ' ' ' ' ' < < < < < < %$$$$$$!<%??$J $J $J $J $J $J $J $JN7 7 7 7 7 7r-   