o
    ØÝ2g)  ã                   @  s†   d Z ddlmZ ddlmZmZmZmZmZm	Z	m
Z
 ddlmZ ddlmZ ddlmZ G dd„ deƒZddd„ZG dd„ deƒZdS )zÕVisitor classes pulled out from different tests

These are here because we don't currently support having interpreted
classes subtype compiled ones but pytest grabs the python file
even if the test was compiled.

é    )Úannotations)ÚAssignmentStmtÚCallExprÚ
ExpressionÚIntExprÚNameExprÚNodeÚTypeVarExpr)ÚTraverserVisitor)ÚTransformVisitor)ÚTypec                      sD   e Zd Zddd„Zd‡ fdd„Zd‡ fdd„Zd‡ fdd„Z‡  ZS )ÚSkippedNodeSearcherÚreturnÚNonec                 C  s   t ƒ | _d| _d S )NF)ÚsetÚnodesÚignore_file)Úself© r   úJ/home/garg/my-data/venv/lib/python3.10/site-packages/mypy/test/visitors.pyÚ__init__   s   
zSkippedNodeSearcher.__init__Úsr   c                   sB   |j st|jƒr|jD ]}t|tƒr| j |¡ qtƒ  	|¡ d S ©N)
ÚtypeÚignore_nodeÚrvalueÚlvaluesÚ
isinstancer   r   ÚaddÚsuperÚvisit_assignment_stmt)r   r   Úlvalue©Ú	__class__r   r   r       s   

€z)SkippedNodeSearcher.visit_assignment_stmtÚnr   c                   ó"   | j r	| j |¡ tƒ  |¡ d S r   )r   r   r   r   Úvisit_name_expr©r   r$   r"   r   r   r&      ó   z#SkippedNodeSearcher.visit_name_exprr   c                   r%   r   )r   r   r   r   Úvisit_int_exprr'   r"   r   r   r)   #   r(   z"SkippedNodeSearcher.visit_int_expr)r   r   )r   r   r   r   )r$   r   r   r   )r$   r   r   r   )Ú__name__Ú
__module__Ú__qualname__r   r    r&   r)   Ú__classcell__r   r   r"   r   r      s
    
r   Únoder   r   Úboolc                 C  s`   t | tƒrdS t | tƒr| jdkrdS t | tƒr| jdkrdS t | tƒr.t| jƒs,| jr.dS dS )z;Return True if node is to be omitted from test case output.Tzbuiltins.objectzbuiltins.NoneF)r   r	   r   Úfullnamer   r   ÚcalleeÚanalyzed)r.   r   r   r   r   )   s   
r   c                   @  s   e Zd Zddd„ZdS )ÚTypeAssertTransformVisitorr   r   r   c                 C  s   |d usJ ‚|S r   r   )r   r   r   r   r   r   =   s   zTypeAssertTransformVisitor.typeN)r   r   r   r   )r*   r+   r,   r   r   r   r   r   r3   <   s    r3   N)r.   r   r   r/   )Ú__doc__Ú
__future__r   Ú
mypy.nodesr   r   r   r   r   r   r	   Úmypy.traverserr
   Úmypy.treetransformr   Ú
mypy.typesr   r   r   r3   r   r   r   r   Ú<module>   s    $
