
    -h                         S SK Jr  S SKJr  S SKJr  S SKJr   " S S5      r " S S\5      r " S	 S
\5      r	 " S S\5      r
 " S S\5      rg)    )	Parameter)memoize_method)debug)parser_utilsc                       \ rS rSrS rSrg)_SignatureMixin   c                    ^  U 4S jnT R                   R                  S-   SR                  U" 5       5      -   S-   nT R                  nU(       a  USU-   -  nU$ )Nc               3   z  >#    Sn SnTR                  SS9 H  nUR                  5       nX[        R                  :H  -  n U (       a  U[        R                  :w  a  Sv   Sn U[        R                  :X  a  SnO!U[        R
                  :X  a  U(       d  Sv   SnUR                  5       v   M     U (       a  Sv   g g 7f)NFT)resolve_stars/*)get_param_namesget_kindr   POSITIONAL_ONLYVAR_POSITIONALKEYWORD_ONLY	to_string)is_positional
is_kw_onlynkindselfs       kC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\jedi/inference/signature.pyparam_strings0_SignatureMixin.to_string.<locals>.param_strings
   s     !MJ)))=zz|)B)B!BB TY-F-F%FI$)M9333!%JY333JI!%Jkkm# > 	 s   B8B;(, )z -> )namestring_namejoinannotation_string)r   r   s
annotations   `   r   r   _SignatureMixin.to_string	   sU    	* II!!C'$))MO*DDsJ++
*$$A     N)__name__
__module____qualname____firstlineno__r   __static_attributes__r(   r'   r   r   r      s    r'   r   c                   Z    \ rS rSrSS jr\S 5       r\S 5       rSS jrS r	S r
S rS	rg
)AbstractSignature&   c                     Xl         X l        g N)valueis_bound)r   r3   r4   s      r   __init__AbstractSignature.__init__'   s    
 r'   c                 .    U R                   R                  $ r2   )r3   r    r   s    r   r    AbstractSignature.name+   s    zzr'   c                     g)N r(   r8   s    r   r#   #AbstractSignature.annotation_string/   s    r'   c                 f    U R                   R                  5       nU R                  (       a  USS  $ U$ )N   )_function_valuer   r4   )r   r   param_namess      r   r   !AbstractSignature.get_param_names3   s/    **::<==qr?"r'   c                     [         er2   )NotImplementedErrorr   r3   s     r   bindAbstractSignature.bind9   s    !!r'   c                     g)NTr(   )r   	argumentss     r   matches_signature#AbstractSignature.matches_signature<   s    r'   c                     U R                   U R                  L a)  SU R                  R                  < SU R                   < S3$ SU R                  R                  < SU R                   < SU R                  < S3$ )N<z: >r   )r3   r?   	__class__r)   r8   s    r   __repr__AbstractSignature.__repr__?   sS    ::---!%!8!8$**EE .!%!8!8$**dFZFZ[[r'   )r4   r3   NF)r)   r*   r+   r,   r5   propertyr    r#   r   rE   rI   rO   r-   r(   r'   r   r/   r/   &   sD    !    "\r'   r/   c                   l   ^  \ rS rSrS	U 4S jjrS r\S 5       r\S 5       r\	S
S j5       r
S rSrU =r$ )TreeSignatureE   c                 D   > [         TU ]  X5        U=(       d    UU l        g r2   )superr5   r?   )r   r3   function_valuer4   rN   s       r   r5   TreeSignature.__init__F   s    )-6r'   c                 *    [        XR                  SS9$ )NT)r4   )rT   r?   rD   s     r   rE   TreeSignature.bindJ   s    U$8$84HHr'   c                     U R                   R                  5       (       a  g U R                  R                  R                  $ r2   )r3   is_classr?   	tree_noder%   r8   s    r   _annotationTreeSignature._annotationM   s2     ::  ##--888r'   c                 @    U R                   nUc  gUR                  SS9$ )Nr;   F)include_prefix)r_   get_code)r   as     r   r#   TreeSignature.annotation_stringU   s&    9zzz//r'   c                     U R                   R                  5       nU(       a  SSKJn  U" U5      nU R                  (       a  USS  $ U$ )Nr   )process_paramsr>   )r?   r   jedi.inference.star_argsrg   r4   )r   r   paramsrg   s       r   r   TreeSignature.get_param_names\   s>    %%557?#F+F==!":r'   c                    SSK Jn  U" U R                  U5      u  p4U(       a  g[        S U 5       5      n[        R
                  (       a}  U R                  R                  n[        R                  " U5      nU(       a&  [        R                  " SXvR                  S   USS9  U$ [        R                  " SXvR                  S   USS9  U$ )	Nr   )#get_executed_param_names_and_issuesFc              3   B   #    U  H  nUR                  5       v   M     g 7fr2   )rI   ).0executed_param_names     r   	<genexpr>2TreeSignature.matches_signature.<locals>.<genexpr>m   s%      G1E- *;;==1Es   zOverloading match: %s@%s (%s)BLUE)colorz Overloading no match: %s@%s (%s))jedi.inference.paramrl   r?   allr   enable_noticer^   r   get_signaturedbg	start_pos)r   rH   rl   executed_param_namesissuesmatchesr^   	signatures           r   rI   TreeSignature.matches_signaturef   s    L/0D0DiP 	% G1EG G,,66I$229=I		9#%8%8%;YfV
  		<#%8%8%;YfVr'   )r?   NFrQ   )r)   r*   r+   r,   r5   rE   rR   r_   r#   r   r   rI   r-   __classcell__rN   s   @r   rT   rT   E   sT    7I 9 9 0 0   r'   rT   c                   R   ^  \ rS rSrSU 4S jjr\S 5       r\S 5       rS rSr	U =r
$ )BuiltinSignature{   c                 <   > [         TU ]  X5        X l        X0l        g r2   )rW   r5   _return_string!_BuiltinSignature__function_value)r   r3   return_stringrX   r4   rN   s        r   r5   BuiltinSignature.__init__|   s    )+ .r'   c                     U R                   $ r2   )r   r8   s    r   r#   "BuiltinSignature.annotation_string   s    """r'   c                 L    U R                   c  U R                  $ U R                   $ r2   )r   r3   r8   s    r   r?    BuiltinSignature._function_value   s$      (::$$$r'   c                 @    [        XR                  U R                  SS9$ )NT)rX   r4   )r   r   r3   rD   s     r   rE   BuiltinSignature.bind   s"    &&::
 	
r'   )__function_valuer   r   )r)   r*   r+   r,   r5   rR   r#   r?   rE   r-   r   r   s   @r   r   r   {   s:    /
 # # % %

 
r'   r   c                        \ rS rSrS rS rSrg)SignatureWrapper   c                     Xl         g r2   _wrapped_signature)r   wrapped_signatures     r   r5   SignatureWrapper.__init__   s    "3r'   c                 .    [        U R                  U5      $ r2   )getattrr   )r   r    s     r   __getattr__SignatureWrapper.__getattr__   s    t..55r'   r   N)r)   r*   r+   r,   r5   r   r-   r(   r'   r   r   r      s    46r'   r   N)inspectr   
jedi.cacher   jedir   r   r   r/   rT   r   r   r(   r'   r   <module>r      sP     %   <\ \>3% 3l
( 
06 6r'   