Ë
    ¬;j  ã                   ó¦   — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
mZ ddlmZ ddlmZ d	„ Z G d
„ d«      Z G d„ de«      Z G d„ de«      Zy)za
This module is about generics, like the `int` in `List[int]`. It's not about
the Generic class.
é    )Úabstractmethod)Údebug)Úmemoize_method)Úto_tuple)ÚValueSetÚ	NO_VALUES)ÚSequenceLiteralValue)Ú	is_stringc              #   ó®   K  — |D ]L  }t        |«      r;ddlm}  || |j                  «       «      }|€Œ.| j	                  |«      D ]  }|–— Œ ŒI|–— ŒN y ­w)Nr   )Ú_get_forward_reference_node)r
   Ú!jedi.inference.gradual.annotationr   Úget_safe_valueÚ
infer_node)ÚcontextÚ	value_setÚvaluer   ÚnodeÚcs         úp/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/jedi/inference/gradual/generics.pyÚ_resolve_forward_referencesr      sW   è ø€ ÛˆÜ�UÔÝUÙ.¨w¸×8LÑ8LÓ8NÓOˆDØÑØ ×+Ñ+¨DÖ1�AØ“Gñ 2ð ‹Kñ ùs
   ‚0A³"Ac                   ó8   — e Zd Zed„ «       Zed„ «       Zd„ Zd„ Zy)Ú_AbstractGenericManagerc                 ó   — t         ‚©N©ÚNotImplementedError©ÚselfÚindexs     r   Ú__getitem__z#_AbstractGenericManager.__getitem__   ó   € ä!Ð!ó    c                 ó   — t         ‚r   r   ©r   s    r   r   z _AbstractGenericManager.to_tuple    r!   r"   c                 ó„   — 	 | |   j                  d «      S # t        $ r  t        j                  d|| «       t        cY S w xY w)Nz$No param #%s found for annotation %s)Úexecute_annotationÚ
IndexErrorr   Úwarningr   r   s     r   Úget_index_and_executez-_AbstractGenericManager.get_index_and_execute$   sB   € ð	Ø˜‘;×1Ñ1°$Ó7Ð7øÜò 	Ü�M‰MÐ@À%ÈÔNÜÒð	ús   ‚ –&?¾?c                 óT   — ddj                  d„ | j                  «       D «       «      z  S )Nz[%s]ú, c              3   ó@   K  — | ]  }|j                  d ¬«      –— Œ y­w)F)Úadd_class_infoN)Úget_type_hint)Ú.0Úts     r   Ú	<genexpr>z8_AbstractGenericManager.get_type_hint.<locals>.<genexpr>,   s   è ø€ Ð!aÑQ`ÈA !§/¡/À /×"GÑQ`ùs   ‚©Újoinr   r$   s    r   r.   z%_AbstractGenericManager.get_type_hint+   s&   € Ø˜Ÿ	™	Ñ!aÐQU×Q^ÑQ^ÔQ`Ó!aÓaÑaÐar"   N)Ú__name__Ú
__module__Ú__qualname__r   r    r   r)   r.   © r"   r   r   r      s3   „ Øñ"ó ð"ð ñ"ó ð"òóbr"   r   c                   ó^   — e Zd Zd„ Zed„ «       Zd„ Zeed„ «       «       Zed„ «       Zd„ Z	d„ Z
y)	ÚLazyGenericManagerc                 ó    — || _         || _        y r   )Ú_context_of_indexÚ_index_value)r   Úcontext_of_indexÚindex_values      r   Ú__init__zLazyGenericManager.__init__0   s   € Ø!1ˆÔØ'ˆÕr"   c                 ó2   —  | j                  «       |   «       S r   ©Ú_tupler   s     r   r    zLazyGenericManager.__getitem__4   s   € à#ˆt�{‰{‹}˜UÑ#Ó%Ð%r"   c                 ó4   — t        | j                  «       «      S r   ©ÚlenrB   r$   s    r   Ú__len__zLazyGenericManager.__len__8   s   € Ü�4—;‘;“=Ó!Ð!r"   c              #   ó²   ‡ K  — ˆ fd„}t        ‰ j                  t        «      r,‰ j                  j                  d ¬«      D ]  } ||«      –— Œ y ˆ fd„–— y ­w)Nc                 ó   •‡ — ˆ ˆfd„S )Nc                  ó^   •— t        t        ‰j                  ‰ j                  «       «      «      S r   )r   r   r;   Úinfer©Ú
lazy_valuer   s   €€r   Ú<lambda>zULazyGenericManager._tuple.<locals>.lambda_scoping_in_for_loop_sucks.<locals>.<lambda>?   s'   ø€ œ8Ô$?Ø×&Ñ&Ø× Ñ Ó"ó%ô r"   r7   rK   s   `€r   Ú lambda_scoping_in_for_loop_suckszCLazyGenericManager._tuple.<locals>.lambda_scoping_in_for_loop_sucks>   s   ù€ ôð r"   )Úcontextualized_nodec                  ój   •— t        t        ‰ j                  t        ‰ j                  g«      «      «      S r   )r   r   r;   r<   r$   s   €r   rM   z+LazyGenericManager._tuple.<locals>.<lambda>H   s,   ø€ œ(Ô#>Ø×&Ñ&Ü˜$×+Ñ+Ð,Ó-ó$ô r"   )Ú
isinstancer<   r	   Ú
py__iter__)r   rN   rL   s   `  r   rB   zLazyGenericManager._tuple;   sS   øè ø€ ô	ô �d×'Ñ'Ô)=Ô>Ø"×/Ñ/×:Ñ:ÈtÐ:ÖT�
Ù6°zÓBÓBñ Uóó ùs   ƒAAc              #   óH   K  — | j                  «       D ]  } |«       –— Œ y ­wr   rA   )r   Ú	callable_s     r   r   zLazyGenericManager.to_tupleM   s   è ø€ àŸ™žˆIÙ“+Óñ 'ùs   ‚ "c                 óš   — t        | j                  t        «      r1| j                  j                  «       }t	        |«      dk(  r	|d   dk(  ryy)Né   é   z...TF)rQ   r<   r	   Úget_tree_entriesrE   )r   Úentriess     r   Úis_homogenous_tuplez&LazyGenericManager.is_homogenous_tupleR   sD   € Ü�d×'Ñ'Ô)=Ô>Ø×'Ñ'×8Ñ8Ó:ˆGÜ�7‹|˜qÒ  W¨Q¡Z°5Ò%8ØØr"   c                 óT   — ddj                  d„ | j                  «       D «       «      z  S )Nz<LazyG>[%s]r+   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   ©Úrepr©r/   Úxs     r   r1   z.LazyGenericManager.__repr__.<locals>.<genexpr>Z   s   è ø€ Ð)K¹?°a¬$¨q¯'¹?ùó   ‚r2   r$   s    r   Ú__repr__zLazyGenericManager.__repr__Y   s"   € Ø §	¡	Ñ)K¸4¿=¹=¼?Ó)KÓ KÑLÐLr"   N)r4   r5   r6   r?   r   r    rF   r   rB   rZ   rb   r7   r"   r   r9   r9   /   s[   „ ò(ð ñ&ó ð&ò"ð Øñó ó ðð  ñó ðòóMr"   r9   c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTupleGenericManagerc                 ó   — || _         y r   rA   )r   Útups     r   r?   zTupleGenericManager.__init__^   s	   € Øˆ�r"   c                 ó    — | j                   |   S r   rA   r   s     r   r    zTupleGenericManager.__getitem__a   s   € Ø�{‰{˜5Ñ!Ð!r"   c                 ó,   — t        | j                  «      S r   rD   r$   s    r   rF   zTupleGenericManager.__len__d   s   € Ü�4—;‘;ÓÐr"   c                 ó   — | j                   S r   rA   r$   s    r   r   zTupleGenericManager.to_tupleg   s   € Ø�{‰{Ðr"   c                  ó   — y)NFr7   r$   s    r   rZ   z'TupleGenericManager.is_homogenous_tuplej   s   € Ør"   c                 óT   — ddj                  d„ | j                  «       D «       «      z  S )Nz
<TupG>[%s]r+   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   r]   r_   s     r   r1   z/TupleGenericManager.__repr__.<locals>.<genexpr>n   s   è ø€ Ð(J¹/°Q¬¨a¯¹/ùra   r2   r$   s    r   rb   zTupleGenericManager.__repr__m   s"   € Ø˜tŸy™yÑ(J¸$¿-¹-¼/Ó(JÓJÑKÐKr"   N)	r4   r5   r6   r?   r    rF   r   rZ   rb   r7   r"   r   rd   rd   ]   s!   „ òò"ò òòóLr"   rd   N)Ú__doc__Úabcr   Újedir   Ú
jedi.cacher   Újedi.inference.utilsr   Újedi.inference.base_valuer   r   Újedi.inference.value.iterabler	   Újedi.inference.helpersr
   r   r   r9   rd   r7   r"   r   Ú<module>ru      sQ   ðñõ å Ý %Ý )ß 9Ý >Ý ,ò	÷bñ bô(+MÐ0ô +Mô\LÐ1õ Lr"   