o
    ØÝ2gi  ã                   @  sJ   d Z ddlmZ ddlmZmZ ddlmZ G dd„ deƒZddd„Z	dS )zGeneric node traverser visitoré    )Úannotations)ÚBlockÚMypyFile)ÚTraverserVisitorc                      s   e Zd Zd‡ fdd„Z‡  ZS )Ú	TreeFreerÚblockr   ÚreturnÚNonec                   s   t ƒ  |¡ |j ¡  d S )N)ÚsuperÚvisit_blockÚbodyÚclear)Úselfr   ©Ú	__class__© úE/home/garg/my-data/venv/lib/python3.10/site-packages/mypy/freetree.pyr   
   s   zTreeFreer.visit_block)r   r   r   r	   )Ú__name__Ú
__module__Ú__qualname__r   Ú__classcell__r   r   r   r   r   	   s    r   Útreer   r   r	   c                 C  s   |   tƒ ¡ | j ¡  dS )zÑFree all the ASTs associated with a module.

    This needs to be done recursively, since symbol tables contain
    references to definitions, so those won't be freed but we want their
    contents to be.
    N)Úacceptr   Údefsr   )r   r   r   r   Ú	free_tree   s   r   N)r   r   r   r	   )
Ú__doc__Ú
__future__r   Ú
mypy.nodesr   r   Úmypy.traverserr   r   r   r   r   r   r   Ú<module>   s    