a
    lc                     @   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   U/var/www/html/django/DPS/env/lib/python3.9/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 d S r   )NotImplementedErrorr   r   r   r   infer   s    zAbstractLazyValue.inferN)r   r   )r   
__module____qualname__r   r   r   r   r   r   r   r      s   
r   c                   @   s   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      s   r   c                   @   s   e Zd ZdZdd ZdS )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      s   r   c                       s&   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   "   s    zLazyUnknownValue.infer)r   r   r   r   r   r   r   __classcell__r   r   r   r   r      s   r   c                       s&   e Zd Zd fdd	Zdd Z  ZS )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 s40    Y  d S )Nr#   )r   r!   r$   Z
infer_noder   r   r   r   r   r   .   s    zLazyTreeValue.infer)r   r   r   r   r   r   r   r    &   s   r    c                 C   s    t | dkrt| S | d S d S )Nr   r   )lenMergedLazyValues)Zlazy_valuesr   r   r   get_merged_lazy_value3   s    r(   c                   @   s   e Zd ZdZdd ZdS )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>=       z)MergedLazyValues.infer.<locals>.<genexpr>)r   Z	from_setsr   r   r   r   r   r   <   s    zMergedLazyValues.inferNr   r   r   r   r   r'   :   s   r'   N)Zjedi.inference.base_valuer   r   Zjedi.commonr   r   r   r   r   r    r(   r'   r   r   r   r   <module>   s   