U
    nufº  ã                   @   sš   U d dl mZmZmZ eeeef Zeg ef Zi Zeeeeef f ed< eeeddœdd„Z	e
eeeegef dœdd	„Zed ƒZed
ƒZedƒZdS )é    )ÚDictÚTupleÚCallableÚ_cacheN)Úmodule_nameÚnameÚcacheÚreturnc                 C   s:   zt |  }W n  tk
r,   i  }t | < Y nX |||< d S ©N)r   ÚKeyError)r   r   r   Zmodule_cache© r   ú=/tmp/pip-unpacked-wheel-ol4ehs9f/jedi/api/completion_cache.pyÚ
save_entry
   s
    r   )Únumberr	   c                    s   t t tt dœ‡ fdd„}|S )N)r   r   Úget_cache_valuesr	   c                    sF   zt |  | ˆ  W S  tk
r@   |ƒ }t| ||ƒ |ˆ   Y S X d S r
   )r   r   r   )r   r   r   Úv©r   r   r   Ú_get_from_cache   s    z/_create_get_from_cache.<locals>._get_from_cache)ÚstrÚCacheValuesCallback)r   r   r   r   r   Ú_create_get_from_cache   s    r   é   é   )Útypingr   r   r   r   ZCacheValuesr   r   Ú__annotations__r   Úintr   Úget_typeZget_docstring_signatureZget_docstringr   r   r   r   Ú<module>   s    