
    f                         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y)    )debug)ValueSet	NO_VALUES)to_list)StubModuleValue)try_to_load_stub_cached	Decorateec                   	 | j                         }|j                         st        | g      S d 	t        | t              r| j
                  	| j                         }|rt        | dd       | j                         } | j                         }|t        S | j                         }|r|d   }|d d }d}d t        |||      }|rt        j                  fd|D              }|r|j                        }	t        	fd|D              }|S )N
_argumentsTc              3      K   | ]7  }|j                         r%|j                         n|j                         9 y wN)is_classexecute_with_valuesexecute).0c	argumentss     \/var/www/cvtools/html/venv/lib/python3.12/site-packages/jedi/inference/gradual/conversion.py	<genexpr>z,_stub_to_python_value_set.<locals>.<genexpr>&   s>      $
zz| (1'8A!!#aii	>RR$
s   =A c              3   6   K   | ]  }t        |        y wr   r	   )r   v	decoratess     r   r   z,_stub_to_python_value_set.<locals>.<genexpr>0   s     Ba)Ay1Bs   )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_setr/   
   s   $557&&(%%I*i(..	))+LJd;	++-
 446O!113%b))#2.	1?OTF## $
$
 

  **;7B6BBM    c                     ddl m} | j                         }t        |t        |f      sJ |        |j
                  }|r|j                  d       }|D ]  }|j                  |      } |S )Nr   )MixedObjectc                 $    | j                          S r   )is_compiled)r   s    r   <lambda>z"_infer_from_stub.<locals>.<lambda>:   s    1==?/B r0   )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   sr    9%//1KkO[#ABWDWWB..I$$%BC	 7006	7r0   c              #     K   | D ]  }|j                         }|j                         s| (|j                  dk(  r3t        |j	                         |      }|r|D ]  }|j
                    j|j                         }|_t        ||      }|rP|j                  |j                               }|r/|D ])  }|j                         j                         r| &| + |  y w)Nmoduler(   )
r   r   api_typeconvert_valuesinferr<   get_defining_qualified_valuer/   gotoget_public_name)	namesprefer_stub_to_compiledr<   module_contextr.   r   	convertedconverted_namesns	            r   _try_stub_to_python_namesrL   @   s      ..0%%'J==H$#DJJLBYZF !A&&L!113A}5aI`a	&/nnT5I5I5K&LO&!0 (A 113;;= '+
&'( !
9s   C%C'c                     | j                         r| S t        | j                  | j                  t	        | g      d | j                  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   sO    ~~"((!6(+ ''446 r0   c              #     K   | D ]  }|j                         }|j                         r| (|j                  dk(  rud}|j                         D ]]  }|j                  dk(  r3t	        |j                         d      }|D ]  }|j                   d} Et        |g|      D ]  }| d}
 _ |rL|j                         }|9t        |      }	|	r,|	j                  |j                               }
|
r|
E d {    |s|  y 7 w)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!!#J==H$JYY[ 	*::)+AGGI$GF# *ff%)
* 3A3K]^ *%)
*	* 113A}#AJ	&/nnT5I5I5K&LO&#222  JA 6 3s   C4D6D7D?Dc                     |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 Y   y xY w)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      sf    lNOO		!	!/	2 H(<PH H -/FH	H H Hs   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 Y   y xY w)Nzconvert valuesc              3   `   K   | ]%  }t        |      xs rt        |h      nt         ' y wr   )r[   r   r   )r   valuera   s     r   r   z!convert_values.<locals>.<genexpr>   s9      &   F)5HeW%9F&s   +.c              3   T   K   | ]  }t        |       xs t        |h       ! yw)r?   N)r/   r   )r   r'   r(   s     r   r   z!convert_values.<locals>.<genexpr>   s6      &  **oV *ZL)*&s   %()r   r`   r   r%   )r.   rW   ra   r(   s     ``r   rA   rA      s}    |,,		!	!"2	3 %% & $&   %% & #)&   s   "A1
A11A:c                    | j                         rt        | g      S | j                         }|r| j                         } | j	                         }t        | j                         j                               }||t        S | j                         }|r|d   }|d d }d}t        |g      }|D ]  }|j                  |      } |rt        j                  d |D              }|r|j                        }|S )Nr   Tc              3   \   K   | ]$  }|j                         r|j                          & y wr   )r   r   )r   r   s     r   r   zto_stub.<locals>.<genexpr>   s*      )
zz| !!#)
s   *,)r   r   r   r!   r"   rU   r   r7   r   r#   r&   r%   )re   r*   r+   r:   r,   r-   stub_valuesr<   s           r   r[   r[      s	   }}  $$&L!!#//1O#E$:$:$<$F$F$HIKo5,,.%b))#2.K=)K ;!44T:; (( )
 )
 

  "44[Ar0   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
   r/   r$   rL   rU   rZ   rb   rA   r[    r0   r   <module>rq      sc     ( = C 4'T	 	 	@	 	! 	!H	H""r0   