o
    I&i                     @   st   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Z	deddfdd	Z
ded
edee fddZdS )    N)DictListOptionalcachereturnc                   C   s   t   d S N)r   clear r	   r	   GC:\wamp64\www\opt\env\Lib\site-packages\torch/_dynamo/funcname_cache.py
clearcache   s   r   filenamec           	      C   sT  zt | }tt|j}W d    n1 sw   Y  W n ty,   i t| < Y d S w i }d}d}g }t|D ]j\}}|jtj	krH|d7 }nT|jtj
krf|d8 }|re||d kre|  |dd }n6|jtjkr|d t|k r||d  jtjkr|jdks|jdkr|| |r|d7 }|||d  j7 }|||jd < q9|t| < d S )N r      .classdef)openlisttokenize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   s@   


r)   linenoc                 C   s    | t vrt|  t |  |d S r   )r   r)   get)r   r*   r	   r	   r
   get_funcname6   s   r,   )r   N)r   typingr   r   r   r   strint__annotations__r   r)   r,   r	   r	   r	   r
   <module>   s   
 
*