o
    Zh                     @   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   P/var/www/html/lang_env/lib/python3.10/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    