U
    zh                     @   sr   U d dl Z d dlmZmZmZ i Zeeeeef f ed< ddddZ	edddd	Z
eeee d
ddZdS )    N)DictListOptionalcache)returnc                   C   s   t   d S N)r   clear r	   r	   N/var/www/html/venv/lib/python3.8/site-packages/torch/_dynamo/funcname_cache.py
clearcache   s    r   )filenamer   c           	   	   C   sP  z*t | }tt |j}W 5 Q R X W n tk
rH   i t| < Y d S X i }d}d}g }t|D ]\}}|jt j	kr|d7 }n|jt j
kr|d8 }|r||d kr|  |dd }nx|jt jkr4|d t|k r4||d  jt jkr4|jdks
|jdkr4|| |r"|d7 }|||d  j7 }|||jd < qb|t| < d S )N r      .classdef)tokenizeopenlistgenerate_tokensreadlineOSErrorr   	enumeratetypeINDENTDEDENTpop
rpartitionNAMElenstringappendstart)	r   ftokensresultZcur_nameZ
cur_indentZsignificant_indentsitokenr	   r	   r
   	_add_file   sD    


r)   )r   linenor   c                 C   s    | t krt|  t |  |d S r   )r   r)   get)r   r*   r	   r	   r
   get_funcname6   s    r,   )r   typingr   r   r   r   strint__annotations__r   r)   r,   r	   r	   r	   r
   <module>   s    *