
    Mh                         d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ ddZd	 Zedd
            Zd Zedd            ZddZddZd ZdS )    )debug)ValueSet	NO_VALUES)to_list)StubModuleValue)try_to_load_stub_cached	DecorateeFc                   	 |                                  }|                                st          | g          S d 	t          | t                    r| j        	|                                 }|r%t          | dd           |                                 } | 	                                }|t          S |                                 }|r|d         }|d d         }d}d t          |||          }|r t          j        fd|D                       }|r|                    |          }	t          	fd|D                       }|S )N
_argumentsTc              3      K   | ]C}|                                 |                                n|                              V  Dd S N)is_classexecute_with_valuesexecute).0c	argumentss     a/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/jedi/inference/gradual/conversion.py	<genexpr>z,_stub_to_python_value_set.<locals>.<genexpr>&   sg       $
 $
zz||$
'0'8A!!###aii	>R>R$
 $
 $
 $
 $
 $
    c              3   8   K   | ]}t          |          V  d S r   r	   )r   v	decoratess     r   r   z,_stub_to_python_value_set.<locals>.<genexpr>0   s-      BBa)Ay11BBBBBBr   )get_root_contextis_stubr   
isinstancer
   _original_valueis_instancegetattrpy__class__get_qualified_namesr   is_bound_method_infer_from_stub	from_setspy__getattribute__)

stub_valueignore_compiledstub_module_contextwas_instancequalified_nameswas_bound_methodmethod_namevaluesr   r   s
           @@r   _stub_to_python_value_setr0   
   s   $5577&&(( &%%%I*i(( /.	))++L .Jd;;	++--
 4466O!1133 %b))#2#.	1?OTTF 
# $
 $
 $
 $
$
 $
 $
 
 

  8 **;77BBBB6BBBBBMr   c                     ddl m} |                                 }t          |t          |f          s
J |             |j        }|r|                    d           }|D ]}|                    |          }|S )Nr   )MixedObjectc                 ,    |                                   S r   )is_compiled)r   s    r   <lambda>z"_infer_from_stub.<locals>.<lambda>:   s    1==??/B r   )jedi.inference.compiled.mixedr2   	get_valuer   r   non_stub_value_setfilterr'   )r*   r,   r)   r2   stub_module	non_stubsnames          r   r%   r%   4   s    999999%//11KkO[#ABBWWDWWWW.I D$$%B%BCC	 7 70066		r   c              #     K   | D ]}|                                 }|                                s|V  /|j        dk    r5t          |                                |          }|r|D ]}|j        V  nn|                                }|qt          ||          }|r^|                    |	                                          }|r5|D ]1}|                                                                 r|V  -|V  2|V  d S )Nmoduler)   )
r   r   api_typeconvert_valuesinferr<   get_defining_qualified_valuer0   gotoget_public_name)	namesprefer_stub_to_compiledr<   module_contextr/   r   	convertedconverted_namesns	            r   _try_stub_to_python_namesrL   @   sQ       ..00%%'' 	JJJ=H$$#DJJLLBYZZZF  ! !A&LLLL
 1133A}5aI`aaa	 !&/nnT5I5I5K5K&L&LO& 	!!0 ( (A 1133;;== ( '+



&' 



9 r   c                     |                                  r| S t          | j        | j        t	          | g          d | j                                                  S )N)import_namespython_value_setparent_module_valuesys_path)r   r   inference_statestring_namesr   get_sys_path)r>   s    r   _load_stub_modulerU   a   s^    ~~ "(!6(++ '4466   r   c              #   6  K   | D ]}|                                 }|                                r|V  0|j        dk    rwd}|                                D ]\}|j        dk    r4t	          |                                d          }|D ]}|j        V  d}At          |g|          D ]}|V  d}	]|rnZ|                                }|Dt          |          }	|	r3|	                    |
                                          }
|
r
|
E d {V  |r|V  d S )Nr>   FT)
only_stubsfallback_to_python)r   r   r@   rD   rA   rB   r<   _python_to_stub_namesrC   to_stubrE   )rF   rY   r<   rH   
found_namerK   r/   r   xrI   rJ   s              r   rZ   rZ   m   s         ..00!!## 	JJJ=H$$JYY[[ 	* 	*:))+AGGII$GGGF# * *f%)

* 3A3K]^^^ * *%)

*   1133A}#AJJ	 !&/nnT5I5I5K5K&L&LO& !#22222222  	 JJJA   r   Tc                     |r|rt          d          t          j        d          5  |s|rt          | |          cd d d            S t	          | |          cd d d            S # 1 swxY w Y   d S )Nz3You cannot use both of only_stubs and prefer_stubs.zconvert namesrX   )rG   )
ValueErrorr   increase_indent_cmrZ   rL   )rF   rW   prefer_stubsrG   s       r   convert_namesrb      s    Pl PNOOO		!/	2	2 H H 	H 	H(<PPPH H H H H H H H -/FH H H	H H H H H H H H H H H H H H H H H Hs   A'
A''A+.A+c                    |rrJ t          j        d          5  |sr,t          j        fd| D                       cd d d            S t          j        fd| D                       cd d d            S # 1 swxY w Y   d S )Nzconvert valuesc              3   h   K   | ],}t          |          prt          |h          nt          V  -d S r   )r[   r   r   )r   valuera   s     r   r   z!convert_values.<locals>.<genexpr>   s\       & &   F)5DHeW%%%9& & & & & &r   c              3   Z   K   | ]%}t          |           pt          |h          V  &dS )r?   N)r0   r   )r   r(   r)   s     r   r   z!convert_values.<locals>.<genexpr>   sX       & &  **oVVV *ZL))& & & & & &r   )r   r`   r   r&   )r/   rW   ra   r)   s     ``r   rA   rA      s4   ,|,,,		!"2	3	3   	 	% & & & & $& & &          % & & & & #)& & &                   s   $A:A::A>A>c                 \   |                                  rt          | g          S |                                 }|r|                                 } |                                 }t          |                                                                           }||t          S | 	                                }|r|d         }|d d         }d}t          |g          }|D ]}|
                    |          }|rt          j        d |D                       }|r|
                    |          }|S )Nr   Tc              3   f   K   | ],}|                                 |                                V  -d S r   )r   r   )r   r   s     r   r   zto_stub.<locals>.<genexpr>   sP       )
 )
zz||)
!!##)
 )
 )
 )
 )
 )
r   )r   r   r    r"   r#   rU   r   r7   r   r$   r'   r&   )re   r+   r,   r:   r-   r.   stub_valuesr<   s           r   r[   r[      sY   }} !   $$&&L $!!##//11O#E$:$:$<$<$F$F$H$HIIKo5,,.. %b))#2#.K=))K ; ;!44T:: 
( )
 )
 )
 )
 )
 
 

  B "44[AAr   N)F)FFT)jedir   jedi.inference.base_valuer   r   jedi.inference.utilsr   !jedi.inference.gradual.stub_valuer   jedi.inference.gradual.typeshedr   jedi.inference.value.decoratorr
   r0   r%   rL   rU   rZ   rb   rA   r[    r   r   <module>rq      sA                ( ( ( ( ( ( = = = = = = C C C C C C 4 4 4 4 4 4' ' ' 'T	 	 	 	   	@	 	 	 	! ! ! 	!H	H 	H 	H 	H   "" " " " "r   