o
    ï›hƒ  ã                   @   s†   d dl mZmZ d dlmZ G dd„ dƒZG dd„ deƒZG dd„ deƒZG d	d
„ d
eƒZG dd„ deƒZ	dd„ Z
G dd„ deƒZdS )é    )ÚValueSetÚ	NO_VALUES)Úmonkeypatchc                   @   s&   e Zd Zd	dd„Zdd„ Zdd„ ZdS )
ÚAbstractLazyValueé   c                 C   s   || _ || _|| _d S ©N)ÚdataÚminÚmax)Úselfr   r	   r
   © r   úOc:\Users\shubh\Videos\agent\nova\Lib\site-packages\jedi/inference/lazy_value.pyÚ__init__   s   
zAbstractLazyValue.__init__c                 C   s   d| j j| jf S )Nz<%s: %s>)Ú	__class__Ú__name__r   ©r   r   r   r   Ú__repr__   s   zAbstractLazyValue.__repr__c                 C   s   t ‚r   )ÚNotImplementedErrorr   r   r   r   Úinfer   ó   zAbstractLazyValue.inferN©r   r   )r   Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r      s    
r   c                   @   ó   e Zd ZdZdd„ ZdS )ÚLazyKnownValuezdata is a Value.c                 C   s   t | jgƒS r   )r   r   r   r   r   r   r      s   zLazyKnownValue.inferN©r   r   r   Ú__doc__r   r   r   r   r   r      ó    r   c                   @   r   )ÚLazyKnownValueszdata is a ValueSet.c                 C   s   | j S r   )r   r   r   r   r   r      s   zLazyKnownValues.inferNr   r   r   r   r   r      r   r   c                       ó&   e Zd Zd‡ fdd„	Zdd„ Z‡  ZS )ÚLazyUnknownValuer   c                    s   t ƒ  d ||¡ d S r   )Úsuperr   )r   r	   r
   ©r   r   r   r      s   zLazyUnknownValue.__init__c                 C   s   t S r   )r   r   r   r   r   r   "   r   zLazyUnknownValue.inferr   ©r   r   r   r   r   Ú__classcell__r   r   r"   r   r       s    r    c                       r   )ÚLazyTreeValuer   c                    s&   t ƒ  |||¡ || _t|jƒ| _d S r   )r!   r   ÚcontextÚdictÚpredefined_namesÚ_predefined_names)r   r&   Únoder	   r
   r"   r   r   r   '   s   zLazyTreeValue.__init__c                 C   sB   t | jd| jƒ� | j | j¡W  d   ƒ S 1 sw   Y  d S )Nr(   )r   r&   r)   Z
infer_noder   r   r   r   r   r   .   s   $ÿzLazyTreeValue.inferr   r#   r   r   r"   r   r%   &   s    r%   c                 C   s   t | ƒdkr
t| ƒS | d S )Nr   r   )ÚlenÚMergedLazyValues)Zlazy_valuesr   r   r   Úget_merged_lazy_value3   s   r-   c                   @   r   )r,   zdata is a list of lazy values.c                 C   s   t  dd„ | jD ƒ¡S )Nc                 s   s   � | ]}|  ¡ V  qd S r   )r   )Ú.0Úlr   r   r   Ú	<genexpr>=   s   € z)MergedLazyValues.infer.<locals>.<genexpr>)r   Z	from_setsr   r   r   r   r   r   <   s   zMergedLazyValues.inferNr   r   r   r   r   r,   :   r   r,   N)Zjedi.inference.base_valuer   r   Zjedi.commonr   r   r   r   r    r%   r-   r,   r   r   r   r   Ú<module>   s    