§
    öyIf�  ã                  ó‚   — 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	 d dl
mZ erd dlmZ  G d„ d	e	¦  «        Zdd„ZdS )é    )Úannotations)Úzip_longest)ÚTYPE_CHECKING)Únodes)ÚBaseChecker)ÚHIGH)ÚPyLinterc                  ó<   — e Zd ZdZdZdddœZdZdd„Zdd„Zdd„Z	dS )ÚLambdaExpressionCheckerz2Check for unnecessary usage of lambda expressions.zlambda-expressions)z\Lambda expression assigned to a variable. Define a function using the "def" keyword instead.úunnecessary-lambda-assignmentzvUsed when a lambda expression is assigned to variable rather than defining a standard function with the "def" keyword.)zILambda expression called directly. Execute the expression inline instead.úunnecessary-direct-lambda-callz[Used when a lambda expression is directly called rather than executing its contents inline.)ÚC3001ÚC3002© Únodeúnodes.AssignÚreturnÚNonec                óŽ  — t          |j        d         t          j        ¦  «        rCt          |j        t          j        ¦  «        r$|                      d|j        t          ¬¦  «         dS t          |j        d         t          j        ¦  «        r³t          |j        t          j        t          j	        f¦  «        rŠt          |j        d         j        |j        j        ¦  «        D ]a\  }}|�|€ dS t          |t          j        ¦  «        r7t          |t          j        ¦  «        r|                      d|t          ¬¦  «         Œ^dS dS dS )z5Check if lambda expression is assigned to a variable.r   r   ©r   Ú
confidenceN)Ú
isinstanceÚtargetsr   Ú
AssignNameÚvalueÚLambdaÚadd_messager   ÚTupleÚListr   Úelts)Úselfr   Úlhs_elemÚrhs_elems       úV/var/www/piapp/venv/lib/python3.11/site-packages/pylint/checkers/lambda_expressions.pyÚvisit_assignz$LambdaExpressionChecker.visit_assign(   sb  € å�d”l 1”o¥uÔ'7Ñ8Ô8ð 	½ZØŒJ�œñ>
ô >
ð 	ð ×ÒØ/Ø”ZÝð ñ ô ð ð ð õ
 ˜œ Qœ­¬Ñ5Ô5ð 	½*ØŒJ�œ¥e¤jÐ1ñ;
ô ;
ð 	õ '2Ø”˜Q”Ô$ d¤j¤oñ'ô 'ð ð Ñ"�˜(ð Ð# xÐ'7à�E�EÝ˜h­Ô(8Ñ9Ô9ð ½jØ�eœlñ?ô ?ð ð ×$Ò$Ø7Ø%Ý#'ð %ñ ô ð øð!	ð 	ð 	ð 	ðð ó    únodes.NamedExprc                óÎ   — t          |j        t          j        ¦  «        rCt          |j        t          j        ¦  «        r&|                      d|j        t          ¬¦  «         d S d S d S )Nr   r   )r   Útargetr   r   r   r   r   r   ©r!   r   s     r$   Úvisit_namedexprz'LambdaExpressionChecker.visit_namedexprH   s{   € Ý�d”k¥5Ô#3Ñ4Ô4ð 	½ØŒJ�œñ:
ô :
ð 	ð ×ÒØ/Ø”ZÝð ñ ô ð ð ð ð	ð 	ð 	ð 	r&   ú
nodes.Callc                ó‚   — t          |j        t          j        ¦  «        r|                      d|t
          ¬¦  «         dS dS )z.Check if lambda expression is called directly.r   r   N)r   Úfuncr   r   r   r   r*   s     r$   Ú
visit_callz"LambdaExpressionChecker.visit_callR   sR   € å�d”i¥¤Ñ.Ô.ð 	Ø×ÒØ0ØÝð ñ ô ð ð ð ð	ð 	r&   N)r   r   r   r   )r   r'   r   r   )r   r,   r   r   )
Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚmsgsÚoptionsr%   r+   r/   r   r&   r$   r   r      sy   € € € € € Ø<Ð<à€Dð
ð
ðð €Dð €Gðð ð ð ð@ð ð ð ðð ð ð ð ð r&   r   Úlinterr	   r   r   c                óJ   — |                       t          | ¦  «        ¦  «         d S )N)Úregister_checkerr   )r7   s    r$   Úregisterr:   \   s%   € Ø
×ÒÕ3°FÑ;Ô;Ñ<Ô<Ð<Ð<Ð<r&   N)r7   r	   r   r   )Ú
__future__r   Ú	itertoolsr   Útypingr   Úastroidr   Úpylint.checkersr   Úpylint.interfacesr   Úpylint.lintr	   r   r:   r   r&   r$   ú<module>rB      sÞ   ðð
 #Ð "Ð "Ð "Ð "Ð "à !Ð !Ð !Ð !Ð !Ð !Ø  Ð  Ð  Ð  Ð  Ð  à Ð Ð Ð Ð Ð à 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø "Ð "Ð "Ð "Ð "Ð "àð %Ø$Ð$Ð$Ð$Ð$Ð$ðFð Fð Fð Fð F˜kñ Fô Fð FðR=ð =ð =ð =ð =ð =r&   