U
    zh                     @   s,   d dl Z ddlmZ G dd dZe ZdS )    N   )ExactWeakKeyDictionaryc                   @   sL   e Zd Zdd ZejdddZejdddZejddd	Zd
d Z	dS )CodeContextDictc                 C   s   t  | _d S N)r   code_contextself r	   L/var/www/html/venv/lib/python3.8/site-packages/torch/_dynamo/code_context.py__init__   s    zCodeContextDict.__init__)codec                 C   s
   || j kS r   )r   )r   r   r	   r	   r
   has_context   s    zCodeContextDict.has_contextc                 C   s&   | j |}|d kr"i }|| j |< |S r   )r   getr   r   ctxr	   r	   r
   get_context   s
    
zCodeContextDict.get_contextc                 C   s   |  |}| jt| |S r   )r   r   Z
_remove_ididr   r	   r	   r
   pop_context   s    
zCodeContextDict.pop_contextc                 C   s   | j   d S r   )r   clearr   r	   r	   r
   r      s    zCodeContextDict.clearN)
__name__
__module____qualname__r   typesCodeTyper   r   r   r   r	   r	   r	   r
   r      s
   r   )r   utilsr   r   r   r	   r	   r	   r
   <module>   s   