ó
    Ð]jÒ(  ã                   óš   • S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SK
JrJrJr  S SKJr  S SKJr  S	 r " S
 S\5      rS rS rS rg)é    )Údefaultdict)Ú	Parameter)Údebug)ÚPushBackIterator)Úanalysis)ÚLazyKnownValueÚLazyTreeValueÚLazyUnknownValue)Úiterable)Ú	ParamNamec                 óÖ   • [        U[        5      (       aT  UR                  nUR                  R                  S:X  a  UR                  n[
        R                  " UR                  XU5      $ g )NÚargument)Ú
isinstancer	   ÚdataÚparentÚtyper   ÚaddÚcontext)Ú
error_nameÚ
lazy_valueÚmessageÚnodes       ÚQ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/jedi/inference/param.pyÚ_add_argument_issuer      sQ   € Ü�*œm×,Ñ,Ø�‰ˆØ�;‰;×Ñ˜zÓ)Ø—;‘;ˆDÜ�|Š|˜J×.Ñ.°
À'ÓJÐJð	 -ó    c                   ó>   ^ • \ rS rSrSU 4S jjrS rS rS rSrU =r	$ )ÚExecutedParamNameé   c                 óN   >• [         TU ]  XR                  US9  X@l        XPl        g )N)Ú	arguments)ÚsuperÚ__init__ÚnameÚ_lazy_valueÚ_is_default)ÚselfÚfunction_valuer    Ú
param_noder   Ú
is_defaultÚ	__class__s         €r   r"   ÚExecutedParamName.__init__   s%   ø€ Ü‰Ñ˜¯©ÀIÐÑNØ%ÔØ%Õr   c                 ó6   • U R                   R                  5       $ ©N)r$   Úinfer©r&   s    r   r.   ÚExecutedParamName.infer   s   € Ø×Ñ×%Ñ%Ó'Ð'r   c                 óT  ^• U R                   (       a  gU R                  5       R                  5       nU R                  5       [        R
                  [        R                  4;   a  gU R                  SS9mT(       d  g[        U4S jU 5       5      n[        R                  " SX!TSS9  U$ )NTF)Úexecute_annotationc              3   óv   >#   • U  H.  nTR                  5         H  nUR                  U5      v •  M     M0     g 7fr-   )Úgather_annotation_classesÚis_sub_class_of)Ú.0Úc1Úc2Úannotationss      €r   Ú	<genexpr>Ú6ExecutedParamName.matches_signature.<locals>.<genexpr>)   s=   øé € ð IÚ /˜"Ø +× EÑ E× G˜"ð ×(Ñ(¨×,Ð,á Gñ -Ú /ùs   ƒ69zparam compare %s: %s <=> %sÚBLUE)Úcolor)r%   r.   Úpy__class__Úget_kindr   ÚVAR_POSITIONALÚVAR_KEYWORDÚinfer_annotationÚanyr   Údbg)r&   Úargument_valuesÚmatchesr9   s      @r   Úmatches_signatureÚ#ExecutedParamName.matches_signature   s˜   ø€ Ø××ØØŸ*™*›,×2Ñ2Ó4ˆØ�=‰=‹?œy×7Ñ7¼×9NÑ9NÐOÓOØØ×+Ñ+¸uÐ+ÐEˆÞð Üô IÙ /óIó Iˆô 	�	Š	Ð/Ø¨K¸vò	Gàˆr   c                 óT   • SU R                   R                  < SU R                  < S3$ )NÚ<z: Ú>)r*   Ú__name__Ústring_namer/   s    r   Ú__repr__ÚExecutedParamName.__repr__0   s   � Ø!Ÿ^™^×4Ô4°d×6FÔ6FÐGÐGr   )r%   r$   )F)
rL   Ú
__module__Ú__qualname__Ú__firstlineno__r"   r.   rG   rN   Ú__static_attributes__Ú__classcell__)r*   s   @r   r   r      s   ø† ÷&ò
(ò÷$Hð Hr   r   c                 ól	  ^^^^• UUUU4S jn/ m/ n0 nU R                   mU R                  5       nTR                  5        H  nXdUR                  R                  '   M     [        TR                  T5      5      m[        [        T5      5      n[        S 5      n0 n	Sn
SnTR                  5        HÖ  nSn[        US5      u  pÞUb˜  Sn
 XM   nXÙ;   ai  SnSTR                  < SU< S3nTR                  5        H=  nTR                  [        R                  " UR                  S	UR                   US
95        M?     O[#        U TXþ5      X�'    [        US5      u  pÞUb  M˜   UR                  X–R                  R                     5        MØ     U
(       aÁ  [C        U5      [C        U	5      -
   H¦  nUU   nU(       a  M  U(       a  M  UR&                  (       a  M-  UR6                  (       a  M@  TR                  5        HR  n[;        T[=        T5      5      nTR                  [        R                  " UR                  SUR                   US
95        MT     M¨     URE                  5        H5  u  nnSTR                  < SU< S3nTR                  [G        SUUS
95        M7     [        U5      nU(       a  US   u  nnU" U5        UT4$ ! [$         a    XèU'    GN‡f = f! [$         a     Of = fUR&                  S:X  az  / nUbH  UR                  U5        U H1  u  pÞU(       a  UR)                  XÞ45          OUR                  U5        M3     [*        R,                  " U R.                  U5      n[1        U5      nOõUR&                  S:X  aC  Ub  U" U5        [*        R2                  " U R.                  [5        U5      5      n[1        U5      n0 nO¢Uc�  UR6                  cx  [9        5       nU
(       df  TR                  5        HR  n[;        T[=        T5      5      nTR                  [        R                  " UR                  SUR                   US
95        MT     O[?        XVR6                  5      nSnOUnUR                  [#        U TUUUS95        [A        U[8        5      (       a  GMé  US   X–R                  R                  '   GM  )a„  
Return a tuple of:
  - a list of `ExecutedParamName`s corresponding to the arguments of the
    function execution `function_value`, containing the inferred value of
    those arguments (whether explicit or default)
  - a list of the issues encountered while building that list

For example, given:
```
def foo(a, b, c=None, d='d'): ...

foo(42, c='c')
```

Then for the execution of `foo`, this will return a tuple containing:
  - a list with entries for each parameter a, b, c & d; the entries for a,
    c, & d will have their values (42, 'c' and 'd' respectively) included.
  - a list with a single entry about the lack of a value for `b`
c                 óà   >• [        T[        T5      5      nTR                  5       (       a  TR                  [	        SU US95        g TR                  S 5        [
        R                  " SU5        g )Nztype-error-too-many-arguments©r   znon-public warning: %s)Ú_error_argument_countÚlenÚget_calling_nodesÚappendr   r   Úwarning)r   Úmr    ÚfuncdefÚissuesÚunpacked_vas     €€€€r   Útoo_many_argsÚ:get_executed_param_names_and_issues.<locals>.too_many_argsH   s_   ø€ Ü! '¬3¨{Ó+;Ó<ˆð ×&Ñ&×(Ñ(à�M‰MÜ#Ø3ØØñõð �M‰M˜$ÔÜ�MŠMÐ2°AÕ6r   c                  ó   • / $ r-   © rd   r   r   Ú<lambda>Ú5get_executed_param_names_and_issues.<locals>.<lambda>g   s   € ©Br   F)NNTúTypeError: z-() got multiple values for keyword argument 'z'.ztype-error-multiple-valuesrW   é   é   ztype-error-too-few-arguments)r)   éÿÿÿÿz'() got an unexpected keyword argument 'ztype-error-keyword-argumentr   )$Ú	tree_nodeÚget_default_param_contextÚ
get_paramsr#   ÚvalueÚlistÚunpackr   Úiterr   ÚnextrZ   r[   r   r   r   r   r   ÚKeyErrorÚ
star_countÚ	push_backr   Ú	FakeTupleÚinference_stater   ÚFakeDictÚdictÚdefaultr
   rX   rY   r	   r   ÚsetÚitemsr   )r'   r    ra   Úresult_paramsÚ
param_dictÚdefault_param_contextÚparamÚvar_arg_iteratorÚnon_matching_keysÚ	keys_usedÚ	keys_onlyÚhad_multiple_value_errorr)   Úkeyr   Ú	key_paramr]   Úcontextualized_nodeÚlazy_value_listÚseqÚ
result_argÚdctÚkr   Úremaining_argumentsÚ	first_keyr^   r_   r`   s    `                        @@@r   Ú#get_executed_param_names_and_issuesr�   4   ss  û€ ÷(7ð 7ð" €FØ€MØ€JØ×&Ñ&€Gð +×DÑDÓFÐà×#Ñ#Ö%ˆØ',�5—:‘:×#Ñ#Ó$ñ &ä�y×'Ñ'¨Ó0Ó1€KÜ'¬¨[Ó(9Ó:Ðä#¡JÓ/ÐØ€IØ€IØ$ÐØ×#Ñ#Ö%ˆð
 ˆ
ÜÐ-¨|Ó<‰ˆØ‰oØˆIðHØ&™O�	ð Ó#Ø/3Ñ,à#ŸLœL«#ð/�Aà/8×/JÑ/JÖ/LÐ+ØŸ™Ü$ŸLšLÐ)<×)DÑ)DØ)EØ)<×)AÑ)AÈ1ñNöò 0Mô &7Ø&¨	°9ó&H�I’Nä Ð!1°<Ó@‰MˆCð) ‹oð,	Ø× Ñ  ¯:©:×+;Ñ+;Ñ!<Ô=Ùñ? &öh ô �Z“¤3 y£>Ô1ˆAØ˜q‘MˆEç%Ð%×)AÐ)AØ×'×'Ñ'¨5¯=¯=©=à+4×+FÑ+FÖ+HÐ'Ü-¨g´s¸;Ó7GÓH�AØ—M‘MÜ ŸšÐ%8×%@Ñ%@Ø%CØ%8×%=Ñ%=ÀqñJöó ,Iñ 2ð -×2Ñ2Ö4‰ˆ‰Zà�|Œ|›Sð"ˆà�‰ÜØ-ØØñö	
ñ 5ô Ð/Ó0ÐÞØ 3°AÑ 6Ñˆ	�:Ù�jÔ!Ø˜&Ð Ð øôU ó 2Ø)1 #Ô&ð2ûô* ó 	Ùð	úð ×Ñ˜qÓ à ˆOØÑ#Ø×&Ñ& xÔ0Û%5‘M�CæØ(×2Ñ2°C°?ÔCÙØ#×*Ñ*¨8Ö4ñ &6ô ×$Ò$ ^×%CÑ%CÀ_ÓUˆCÜ'¨Ó,‰JØ×Ñ Ó"ØÑ#Ù˜hÔ'ä×#Ò# N×$BÑ$BÄDÐIZÓD[Ó\ˆCÜ'¨Ó,ˆJØ "Ñð Ñà—=‘=Ñ(Ü!1Ó!3�JÞ$Ø3<×3NÑ3NÖ3PÐ/Ü 5°g¼sÀ;Ó?OÓ P˜AØ"ŸM™MÜ (§¢Ø$7×$?Ñ$?Ø$BØ$7×$<Ñ$<Ø,-ñ	!"öñ 4Qøô "/Ð/DÇmÁmÓ!T�JØ!%‘Jà%�
à×ÑÔ.Ø˜I u¨jÀZñ
ô 	ô ˜*Ô&6×7Ô7Ø*7¸Ñ*;ˆI—j‘j×&Ñ&Ô's$   ÃK Å'KË KËKË
K"Ë!K"c                 ó   • [        X5      S   $ )aH  
Return a list of `ExecutedParamName`s corresponding to the arguments of the
function execution `function_value`, containing the inferred value of those
arguments (whether explicit or default). Any issues building this list (for
example required arguments which are missing in the invocation) are ignored.

For example, given:
```
def foo(a, b, c=None, d='d'): ...

foo(42, c='c')
```

Then for the execution of `foo`, this will return a list containing entries
for each parameter a, b, c & d; the entries for a, c, & d will have their
values (42, 'c' and 'd' respectively) included.
r   )r�   )r'   r    s     r   Úget_executed_param_namesr’   ã   s   € ô$ /¨~ÓIÈ!ÑLÐLr   c                 óÄ   • U R                  5       n[        S U 5       5      nUS:X  a  SnOS[        U5      U-
  -  nSU R                  < SU< [        U5      < SU< S3$ )	Nc              3   ól   #   • U  H*  oR                   (       d  UR                  (       d  M&  S v •  M,     g7f)rh   N)rz   rt   )r6   Úps     r   r:   Ú(_error_argument_count.<locals>.<genexpr>ú   s   é € ÐK¢v !··¸a¿l½lŸA™A¢vùs   ‚%4«	4r   zexactly zfrom %s to rg   z	() takes z arguments (z given).)rm   ÚsumrY   r#   )r^   Úactual_countÚparamsÚdefault_argumentsÚbefores        r   rX   rX   ø   s`   € Ø×ÑÓ!€FÜÑK¡vÓKÓKÐà˜AÓØ‰à¤# f£+Ð0AÑ"AÑBˆøà�|Œ|šV¤S¨¦[³,ð@ð Ar   N)Úcollectionsr   Úinspectr   Újedir   Újedi.inference.utilsr   Újedi.inferencer   Újedi.inference.lazy_valuer   r	   r
   Újedi.inference.valuer   Újedi.inference.namesr   r   r   r�   r’   rX   rd   r   r   Ú<module>r¤      sK   ðÝ #Ý å Ý 1Ý #÷$ñ $å )Ý *òKôH˜	ô Hò>l!ò^Mó*	Ar   