+
    e/                     V   ^ RI t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHtHtHtHt ^ RIHtHtHt ^ R	IHtHtHt ^ R
IHt ^ RIHt RR lt ! R R]4      tR tR t R t! ! R R4      t" ! R R]"4      t#R t$ ! R R]#4      t% ! R R]#4      t& ! R R]"4      t'R R lt(R t)R# )!    N)zip_longest)tree)debug)PushBackIterator)analysis)LazyKnownValueLazyKnownValuesLazyTreeValueget_merged_lazy_value)	ParamNameTreeNameDefinitionAnonymousParamName)	NO_VALUESValueSetContextualizedNode)iterable)%inference_state_as_method_param_cachec                    V^
8  d   R# V  F?  p VP                   pV! 4        F$  p\        VP                  4       V^,           4       K&  	  KA  	  R#   \         d     KS  i ; i)z"Helper method for static analysis.N)
py__iter__try_iter_contentinferAttributeError)typesdepthtypf
lazy_values   &&   :/usr/lib/python3/dist-packages/jedi/inference/arguments.pyr   r      s`    rz 		@A  c
 !1!1!3UQY? "   		s   AA A c                       ] tR t^"tRtR# )
ParamIssue N)__name__
__module____qualname____firstlineno____static_attributes__r!       r   r    r    "   s    r'   r    c                   a  V 3R lpV# )a2  
Transforms a function or method with arguments to the signature that is
given as an argument clinic notation.

Argument clinic is part of CPython and used for all the functions that are
implemented in C (Python 3.7):

    str.split.__text_signature__
    # Results in: '($self, /, sep=None, maxsplit=-1)'
c                    <a  VV 3R  lpV# )c                    <  \        \        V P                  VS4      4      pS! V .VO5!  #   \         d
    \        u # i ; iN)tupleiterate_argument_clinicinference_stater    r   )value	argumentsargsclinic_stringfuncs   && r   wrapper?repack_with_argument_clinic.<locals>.decorator.<locals>.wrapper2   sR    	*4))!  E)D))  !  !s    - A Ar!   )r3   r4   r2   s   f r   	decorator.repack_with_argument_clinic.<locals>.decorator1   s    
	* r'   r!   )r2   r6   s   f r   repack_with_argument_clinicr8   &   s     r'   c              #    "   \        \        V4      4      p\        VP                  4       4      p\	        V4       EF+  w  pw  rgrV	^8X  d]   . p
V F.  w  rVe   VP                  W34        MV
P                  V4       K0  	  \        \        P                  ! W
4      .4      x  V
 Km  V	^8X  d   \        4       h\        VR4      w  rVe   \        P                  ! R4       \        hVf1   V'       g)   \        P                  ! RV\        V4      V4       \        hVf   \         MVP#                  4       pV'       g&   V'       g   \        P                  ! RV4       \        hVx  EK.  	  R# 5i)z;Uses a list with argument clinic information (see PEP 436).NzAKeyword arguments in argument clinic are currently not supported.z4TypeError: %s expected at least %s arguments, got %sz$argument_clinic "%s" not resolvable.)NN)list_parse_argument_clinicr   unpack	enumerate	push_backappendr   r   	FakeTupleNotImplementedErrornextr   warningr    lenr   r   )r.   r0   r2   clinic_argsiteratorinameoptionalallow_kwargsstarslazy_valueskeyargument	value_sets   &&&           r   r-   r-   B   s4    -m<=K	 0 0 23H4=k4J00DLA:K!)?&&7""8, "* H..LMNNaZ%''X|4?MM]^HMMPK 0!5!)!1Ix~~7G	 MM@$G? 5Ks   C0E-3A	E-=E-(E-c              #     "   R pR pV '       d   \         P                  ! RV 4      pV \        VP                  ^ 4      4      R p VP                  ^4      '       g   RpKW  T;'       g    \	        VP                  ^4      4      pVP                  ^4      pVP                  R4      pWER pWBW3x  V'       g   K  RpK  R# 5i)Fz%(?:(?:(\[),? ?|, ?|)(\**\w+)|, ?/)\]*NT*)rematchrD   groupboolcount)stringrJ   rI   rS   wordrK   s   &     r   r;   r;   i   s     LH

 A6JEKKN+,-{{1~~L33tEKKN3{{1~

3F||335L! s   B>AB>'AB>8B>c                   0   a  ] tR t^t o RR ltR tRtV tR# )_AbstractArgumentsMixinNc                    \         hr+   rA   )selffuncdefs   &&r   r<   _AbstractArgumentsMixin.unpack       !!r'   c                    . # r+   r!   r]   s   &r   get_calling_nodes)_AbstractArgumentsMixin.get_calling_nodes   s    	r'   r!   r+   )r"   r#   r$   r%   r<   rc   r&   __classdictcell____classdict__s   @r   rZ   rZ      s     " r'   rZ   c                   "    ] tR t^tRtRtRtRtR# )AbstractArgumentsNr!   )r"   r#   r$   r%   contextargument_nodetrailerr&   r!   r'   r   ri   ri      s    GMGr'   ri   c              #   d  "   V f   R # V P                   R8w  d2   V P                   R8X  d   V P                  ^ ,          R9   g	   ^ V 3x  R # \        V P                  4      pV F  pVR8X  d   K  VR9   d.   \        VR 4      pVf   Q h\	        VP
                  4      V3x  K@  VP                   R8X  dr   VP                  ^ ,          R9   dZ   \	        VP                  4      ^8X  g   Q h\	        VP                  ^ ,          P
                  4      VP                  ^,          3x  K  ^ V3x  K  	  R # 5i)NarglistrN   ,)rQ   z**)typechildreniterrB   rD   r/   )rn   rF   childcs   &   r   unpack_arglistru      s     ||y LLJ&7+;+;A+>++MjG$$%HC<k!Xt$A= =ekk"A%%ZZ:%q![0u~~&!+++ennQ'--.q0AAAU(N s   D.D0c                   p   a  ] tR t^t o R
R lt]]! 4       R 4       4       tR
R ltR t	R t
R tR tR	tV tR# )TreeArgumentsNc                6    W0n         W n        Wn        W@n        R# )zC
:param argument_node: May be an argument_node or a list of nodes.
N)rk   rj   _inference_staterl   )r]   r.   rj   rk   rl   s   &&&&&r   __init__TreeArguments.__init__   s     + /r'   c                    V ! V/ VB # r+   r!   )clsr1   kwargss   &*,r   create_cachedTreeArguments.create_cached   s     D#F##r'   c           
   #  L  "   . p\        V P                  4       EF  w  r4V^8X  d   V P                  P                  V4      pV Uu. uF  p\	        V P                  WdV4      NK  	  pp\        \        V!  4       F'  pR\        V U	u. uF
  qf   K  V	NK  	  up	4      3x  K)  	  K  V^8X  dF   V P                  P                  V4      pV F"  p
\        V P                  WV4       Rj  xL
  K$  	  K  VP                  R8X  d   VP                  p\        V4      ^8X  dC   VP                  V^ ,          P                  \        V P                  V^,          4      34       EKH  VP                  ^,          pVP                  R8X  d   VP                  ^,          p\        P                   ! V P"                  V P                  VVP                  ^ ,          R7      pR\%        V4      3x  EK  R\        V P                  V4      3x  EK  	  T Rj  xL
  R# u upi u up	i  EL7 L5i)   NrN   comp_for)defining_contextsync_comp_for_node
entry_node)ru   rk   rj   
infer_node_iterate_star_argsr:   r   r   _star_star_dictrp   rq   rD   r?   r/   r
   r   GeneratorComprehensionry   r   )r]   r^   
named_args
star_countelarraysa	iteratorsvaluesvdctrt   sync_comp_forcomps   &&            r   r<   TreeArguments.unpack   s    
,T-?-?@NJQ004&,.&, 0aWM&,  .";	#:;F 5$*<FqF<!   < q004!C.t||SgNNN " 77j(A1v{"))1Q4::}T\\STUVSW7X*Z[ )+A(--;,9,B,B1,EM'>> 11-1\\/<'){{1~	  #N4$888dllB ???? AF A. =
 O. 	sD   AH$ H&!H$HHAH$(H)D%H$H"H$"H$c              #     "   \        V P                  4       FM  w  rR pVP                  R8X  d0   \        VP                  4      ^8X  d   VP                  R,          w  r#W#V3x  KO  	  R # 5i)NrN   :NN   )ru   rk   rp   rD   rq   )r]   r   rN   defaults   &   r   _as_tree_tuple_objects$TreeArguments._as_tree_tuple_objects   s`     $243E3E$F JG}}
*x(()Q.(0(9(9#(>%HZ// %Gs   A)A+c              #     "   V P                  4        FH  w  rpV'       d!   \        V\        P                  4      '       g   K0  \	        V P
                  V4      x  KJ  	  R # 5ir+   )r   
isinstancer   Namer   rj   )r]   rH   r   r   s   &   r   iter_calling_names_with_star*TreeArguments.iter_calling_names_with_star   sE     )-)D)D)F%D:Zdii%@%@$T\\488 *Gs   AA!c                T    R V P                   P                  : RV P                  : R2# <z: >)	__class__r"   rk   rb   s   &r   __repr__TreeArguments.__repr__   s    !^^44d6H6HIIr'   c                   . pT pW!9  d   \        V\        4      '       g   MVP                  V4       \        \	        VP                  4       4      4       F  pVP                  4       p\        V4      ^8w  d    Kv  \        V^ ,          \        4      '       d   . u # \        V^ ,          \        4      '       g    K  V^ ,          P                  4       pVP                  p K  	  K  VP                  e"   \        VP                  VP                  4      .# VP                  e"   \        VP                  VP                  4      .# . # )r   )r   rw   r?   reversedr:   r   gotorD   r   r   get_executed_param_namer0   rk   r   rj   rl   )r]   old_arguments_listr0   calling_namenamesexecuted_param_names   &     r   rc   TreeArguments.get_calling_nodes   s   	1i77%%i0 (i.T.T.V)W X$))+u:?eAh(:;; I!%(I66&+Ah&F&F&H#/99	 !Y "".&y'8'8):Q:QRSS(&y'8'8):K:KLMM	r'   )ry   rk   rj   rl   r+   )r"   r#   r$   r%   rz   classmethodr   r   r<   r   r   r   rc   r&   re   rf   s   @r   rw   rw      sI      *,$ - $%N09J r'   rw   c                   6   a  ] tR tRt o R tRR ltR tRtV tR# )ValuesArgumentsi  c                    Wn         R # r+   _values_list)r]   values_lists   &&r   rz   ValuesArguments.__init__  s    'r'   Nc              #  R   "   V P                    F  pR \        V4      3x  K  	  R # 5ir+   )r   r	   )r]   r^   r   s   && r   r<   ValuesArguments.unpack  s%     ''F/// (s   %'c                T    R V P                   P                  : RV P                  : R2# r   )r   r"   r   rb   s   &r   r   ValuesArguments.__repr__  s    !^^44d6G6GHHr'   r   r+   )	r"   r#   r$   r%   rz   r<   r   r&   re   rf   s   @r   r   r     s     (0I Ir'   r   c                   l   a  ] tR tRt o R t]R 4       t]R 4       t]R 4       tRR lt	R t
R	 tR
tV tR# )TreeArgumentsWrapperi  c                    Wn         R # r+   _wrapped_arguments)r]   r0   s   &&r   rz   TreeArgumentsWrapper.__init__  s    "+r'   c                .    V P                   P                  # r+   )r   rj   rb   s   &r   rj   TreeArgumentsWrapper.context      &&...r'   c                .    V P                   P                  # r+   )r   rk   rb   s   &r   rk   "TreeArgumentsWrapper.argument_node!  s    &&444r'   c                .    V P                   P                  # r+   )r   rl   rb   s   &r   rl   TreeArgumentsWrapper.trailer%  r   r'   Nc                    \         hr+   r\   )r]   r3   s   &&r   r<   TreeArgumentsWrapper.unpack)  r`   r'   c                6    V P                   P                  4       # r+   )r   rc   rb   s   &r   rc   &TreeArgumentsWrapper.get_calling_nodes,  s    &&88::r'   c                T    R V P                   P                  : RV P                  : R2# r   )r   r"   r   rb   s   &r   r   TreeArgumentsWrapper.__repr__/  s    !^^44d6M6MNNr'   r   r+   )r"   r#   r$   r%   rz   propertyrj   rk   rl   r<   rc   r   r&   re   rf   s   @r   r   r     s\     , / / 5 5 / /";O Or'   r   c              #     "   VP                  R 4      '       g<   Ve8   RVP                  P                  : RV: 2p\        P                  ! V RW$R7        VP
                  pV! 4        Rj  xL
  R#  L  \         d     R# i ; i5i)__iter__NTypeError: z,() argument after * must be a sequence, not ztype-error-starmessage)py__getattribute__rH   r/   r   addr   r   )rj   array
input_noder^   miter_s   &&&&  r   r   r   3  su     ##J// <<%%u.ALL"3ZK   7  s6   ABA5 "
B,A3-B5B BBBc                 f   ^ RI Hp \        W4      '       d   VP                  P                  R8X  d   / # \        V\
        P                  4      '       d"   VP                  R8X  d   VP                  4       # Ve8   RVP                  P                  : RV: 2p\        P                  ! V RW%R7       / # )r   )CompiledInstancedictr   z* argument after ** must be a mapping, not ztype-error-star-starr   )jedi.inference.value.instancer   r   rH   string_namer   Sequence
array_typeexact_key_itemsr/   r   r   )rj   r   r   r^   r   r   s   &&&&  r   r   r   B  s    >%**uzz/E/E/O 		E8,,	-	-%2B2Bf2L$$&&<<%%u.ALL"8*P	r'   )r   r+   )*rR   	itertoolsr   parso.pythonr   jedir   jedi.inference.utilsr   jedi.inferencer   jedi.inference.lazy_valuer   r	   r
   r   jedi.inference.namesr   r   r   jedi.inference.base_valuer   r   r   jedi.inference.valuer   jedi.inference.cacher   r   	Exceptionr    r8   r-   r;   rZ   ri   ru   rw   r   r   r   r   r!   r'   r   <module>r      s    	 !   1 #) ) R R M M ) F@"	 	8$N , / 2d% dN	I' 	IO2 O4r'   