+
    eW                        ^ RI H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 ^ RIHtHt ^ R	IHtHtHtHt ^ R
IHtHtHtHtHt ^ RIHtHt ^ RIH t  ^ RI!H"t"H#t# ^ RI$H%t%H&t&H't'H(t(H)t)H*t* ^ RI+H,t, ^ RI-H.t. ^ RI/H0t0H1t1  ! R R]4      t2 ! R R]4      t3 ! R R](4      t4 ! R R])4      t5 ! R R]4      t6 ! R R]64      t7 ! R R]64      t8 ! R  R!]84      t9 ! R" R#]84      t: ! R$ R%]4      t; ! R& R']4      t< ! R( R)]&]4      t= ! R* R+]4      t> ! R, R-]4      t? ! R. R/]4      t@ ! R0 R1]4      tA ! R2 R3],4      tB ! R4 R5]#4      tCR6# )7    )abstractproperty)search_ancestor)debug)settings)compiled)CompiledValueFilter)values_from_qualified_namesis_big_annoying_library)AbstractFilter AnonymousFunctionExecutionFilter)	ValueNameTreeNameDefinition	ParamNameNameWrapper)Value	NO_VALUESValueSetiterator_to_value_setValueWrapper)LazyKnownValueLazyKnownValues)inference_state_method_cache)ValuesArgumentsTreeArgumentsWrapper)FunctionValueFunctionMixinOverloadedFunctionValueBaseFunctionExecutionContextFunctionExecutionContextFunctionNameInClass)ClassFilter)get_dynamic_array_instance)function_is_staticmethodfunction_is_classmethodc                   >   a a ] tR t^t oV 3R ltR tR tRtVtV ;t	# )InstanceExecutedParamNamec                6   < \         SV `  W#R R7       Wn        R # )N)	argumentssuper__init__	_instance)selfinstancefunction_value	tree_name	__class__s   &&&&?/usr/lib/python3/dist-packages/jedi/inference/value/instance.pyr+   "InstanceExecutedParamName.__init__   s     	 	7!    c                .    \        V P                  .4      # N)r   r,   r-   s   &r2   inferInstanceExecutedParamName.infer    s    ())r4   c                    R # T r7   s   &r2   matches_signature+InstanceExecutedParamName.matches_signature#       r4   r,   )
__name__
__module____qualname____firstlineno__r+   r8   r=   __static_attributes____classdictcell____classcell__r1   __classdict__s   @@r2   r&   r&      s     "
* r4   r&   c                   >   a a ] tR t^'t oV 3R ltV 3R ltRtVtV ;t# )AnonymousMethodExecutionFilterc                4   < \         SV `  ! V/ VB  Wn        R # r6   r)   r-   r.   argskwargsr1   s   &&*,r2   r+   'AnonymousMethodExecutionFilter.__init__(   s    $)&)!r4   c                x  < VP                   ^ 8X  d   \        V P                  P                  4      '       d0   \	        V P
                  P                  4       V P                  V4      # \        V P                  P                  4      '       g"   \	        V P
                  V P                  V4      # \        SV `%  W4      # r   )
position_indexr$   _function_value	tree_noder&   r,   py__class__r#   r*   _convert_param)r-   paramnamer1   s   &&&r2   rW   -AnonymousMethodExecutionFilter._convert_param,   s    1$&t';';'E'EFF0NN..0(( 
 .d.B.B.L.LMM0NN(( 
 w%e22r4   r@   )	rA   rB   rC   rD   r+   rW   rE   rF   rG   rH   s   @@r2   rK   rK   '   s     "3 3r4   rK   c                   B   a a ] tR t^=t oV 3R ltRR ltR tRtVtV ;t	# )AnonymousMethodExecutionContextc                2   < \         SV `  V4       Wn        R # r6   r*   r+   r.   )r-   r.   valuer1   s   &&&r2   r+   (AnonymousMethodExecutionContext.__init__>   s     r4   c              #  X   "   \        V P                  W P                  VVR 7      x  R# 5i))until_positionorigin_scopeN)rK   r.   _value)r-   rb   rc   s   &&&r2   get_filters+AnonymousMethodExecutionContext.get_filtersB   s%     ,MM4)%
 	
s   (*c                    \        V P                  P                  4       4      p\        V P                  V P                  V^ ,          P
                  4      V^ &   V# rR   )listrd   get_param_namesr&   r.   r0   )r-   param_namess   & r2   ri   /AnonymousMethodExecutionContext.get_param_namesI   sJ    4;;66892MMKKN$$
A
 r4   r.   )NN)
rA   rB   rC   rD   r+   re   ri   rE   rF   rG   rH   s   @@r2   r\   r\   =   s     !
 r4   r\   c                   2   a a ] tR t^Tt oV 3R ltRtVtV ;t# )MethodExecutionContextc                4   < \         SV `  ! V/ VB  Wn        R # r6   r^   rM   s   &&*,r2   r+   MethodExecutionContext.__init__U   s    $)&) r4   rl   )rA   rB   rC   rD   r+   rE   rF   rG   rH   s   @@r2   rn   rn   T   s     ! !r4   rn   c                      a a ] tR t^Zt oRtV 3R ltR tR tR tR t	R t
]R 4       tR	 tR
 tR tRR ltV 3R ltRV 3R lltR tRtVtV ;t# )AbstractInstanceValuer.   c                2   < \         SV `  W4       W0n        R # r6   )r*   r+   class_value)r-   inference_stateparent_contextrt   r1   s   &&&&r2   r+   AbstractInstanceValue.__init__]   s    9 'r4   c                    R # r;   r<   r7   s   &r2   is_instance!AbstractInstanceValue.is_instancec   r?   r4   c                6    V P                   P                  4       # r6   )rt   get_qualified_namesr7   s   &r2   r|   )AbstractInstanceValue.get_qualified_namesf   s    3355r4   c                    V P                   # r6   rt   r7   s   &r2   get_annotated_class_object0AbstractInstanceValue.get_annotated_class_objecti       r4   c                    V P                   # r6   r   r7   s   &r2   rV   !AbstractInstanceValue.py__class__l   r   r4   c                    R # r6   r<   r7   s   &r2   
py__bool__ AbstractInstanceValue.py__bool__o   s    r4   c                    \         hr6   )NotImplementedErrorr7   s   &r2   rY   AbstractInstanceValue.names   s    !!r4   c                    V P                  R 4      P                  W P                  4      pVP                  4        Uu. uF  q"P	                  V 4      NK  	  up# u upi )__call__)py__getattribute__	py__get__rt   get_signaturesbind)r-   
call_funcsss   &  r2   r   $AbstractInstanceValue.get_signaturesw   sL    ,,Z8BB4IYIYZ
&0&?&?&AB&At&ABBBs   Ac                r    V P                  R R7       F   pVP                  V4      pV'       g   K  Vu # 	  . # )F)include_self_names)re   get)r-   rY   filternamess   &&  r2   get_function_slot_names-AbstractInstanceValue.get_function_slot_names{   s<     &&%&@FJJt$Eu A 	r4   c                D   a \         P                  ! V3R  lV 4       4      # )c              3   `   <"   T F#  pVP                  4       P                  ! S!  x  K%  	  R # 5ir6   )r8   execute_with_values).0rY   inferred_argss   & r2   	<genexpr>?AbstractInstanceValue.execute_function_slots.<locals>.<genexpr>   s)      "
 JJL,,m<   +.)r   	from_sets)r-   r   r   s   &&jr2   execute_function_slots,AbstractInstanceValue.execute_function_slots   s#    !! "
"
 
 	
r4   c                "    V P                  4       # r6   )
py__name__)r-   add_class_infos   &&r2   get_type_hint#AbstractInstanceValue.get_type_hint   s      r4   c                   <a V P                  R 4      pV'       g   \        SV `	  VV4      # \        V.4      o\        P
                  ! V3R lV 4       4      # )__getitem__c              3   `   <"   T F#  qP                  4       P                  S4      x  K%  	  R # 5ir6   r8   execute)r   rY   rN   s   & r2   r   6AbstractInstanceValue.py__getitem__.<locals>.<genexpr>   s#     !O**,"6"6t"<"<r   )r   r*   py__getitem__r   r   r   )r-   index_value_setcontextualized_noder   rN   r1   s   &&& @r2   r   #AbstractInstanceValue.py__getitem__   sT    ,,];7(# 
 01!!!O!OOOr4   c                x   <a aa S P                  R 4      oS'       g   \        SS `	  S4      # VVV 3R lpV! 4       # )__iter__c               3   v   <"   SP                  S4       F  p V P                  S4       R j  xL
  K  	  R #  L
5ir6   )r   
py__next__)	generatorr   iter_slot_namesr-   s    r2   iterate1AbstractInstanceValue.py__iter__.<locals>.iterate   s4     !88I	$//0CDDD JDs   )979)r   r*   
py__iter__)r-   r   r   r   r1   s   ff @r2   r    AbstractInstanceValue.py__iter__   s7    66zB7%&9::	E yr4   c                T    R V P                   P                  : RV P                  : R2# )< of >)r1   rA   rt   r7   s   &r2   __repr__AbstractInstanceValue.__repr__   s    #~~668H8HIIr4   r   r;   r6   )rA   rB   rC   rD   api_typer+   ry   r|   r   rV   r   r   rY   r   r   r   r   r   r   r   rE   rF   rG   rH   s   @@r2   rr   rr   Z   sh     H'6   " "C
!	PJ Jr4   rr   c                   R   a a ] tR t^t oV 3R ltRR lt]R 4       tR tRt	Vt
V ;t# )CompiledInstancec                4   < \         SV `  WV4       W@n        R # r6   )r*   r+   
_argumentsr-   ru   rv   rt   r(   r1   s   &&&&&r2   r+   CompiledInstance.__init__   s    +F#r4   c              #     "   V P                  4       pVP                  VR R7      pV F  p\        W4      x  K  	  R# 5iT)rc   ry   N)r   re   CompiledInstanceClassFilter)r-   rc   r   rt   class_filtersfs   &&&   r2   re   CompiledInstance.get_filters   sE     557#//% 0 
 A-d66 s   <>c                j    \         P                  ! W P                  P                  P                  4      # r6   )r   CompiledValueNamert   rY   string_namer7   s   &r2   rY   CompiledInstance.name   s%    ))$0@0@0E0E0Q0QRRr4   c                    R # )Fr<   r7   s   &r2   is_stubCompiledInstance.is_stub   s    r4   )r   NT)rA   rB   rC   rD   r+   re   propertyrY   r   rE   rF   rG   rH   s   @@r2   r   r      s/     $7 S S r4   r   c                      a a ] tR t^t o]R 4       t]R 4       tR
R lt]! 4       R 4       t	R t
RR ltV 3R ltR tR	tVtV ;t# )_BaseTreeInstancec                    V P                   P                  4       pVR9   d1   V P                  P                  4       P	                  4       '       d   V# R# )rh   N)rh   setdict)rt   r   rv   get_root_contextis_builtins_moduler-   rY   s   & r2   
array_type_BaseTreeInstance.array_type   sE    **,**''88:MMOOKr4   c                T    \        W P                  P                  P                  4      # r6   )r   rt   rY   r0   r7   s   &r2   rY   _BaseTreeInstance.name   s    //44>>??r4   c              #    "   V P                  4       pV'       dM   VP                  4        F8  pVP                  4       '       d   K  \        WVP	                  4       V4      x  K:  	  VP                  VR R7      pV FQ  p\        V\        4      '       d   \        W4      x  K(  \        V\        4      '       d   \        W4      x  KM  Vx  KS  	  R# 5ir   )r   	py__mro__is_compiledSelfAttributeFilter
as_contextre   
isinstancer!   InstanceClassFilterr   r   )r-   rc   r   rt   clsr   r   s   &&&    r2   re   _BaseTreeInstance.get_filters   s     557",,.(( .dAQS_`` / $//% 0 
 A![)))$22A2331$::  s   ?CBCc                @   Tp Tp\        VRR4      pVP                  VJ g   K"  \        P                  ! W4      p\	        WV4      pVP
                  P                  R8X  d   VP                  V P                  4      pMVP                  4       p TP                  T4      # )Tfuncdefclassdefr+   )
r   rU   r   from_contextBoundMethodrY   r_   r   r   create_context)r-   class_contextnodenew	func_nodefuncbound_methodcontexts   &&&     r2   create_instance_context)_BaseTreeInstance.create_instance_context   s    I!#y*=C&&#-$11-K*4E>>'':5*55dooFG*557G%%d++r4   c                4   V P                  4       '       d   \        # \        P                  ! V P                  V4      p\        V P                  4      '       d   \        # V P                  R4      ;'       g    V P                  R4      pV P                  W24      # )z
Since nothing was inferred, now check the __getattr__ and
__getattribute__ methods. Stubs don't need to be checked, because
they don't contain any logic.
__getattr____getattribute__)	r   r   r   create_simple_objectru   r
   rv   r   r   )r-   r   rY   r   s   &&  r2   py__getattribute__alternatives0_BaseTreeInstance.py__getattribute__alternatives   s     <<>>,,T-A-A;O #4#6#677--m< E E001CD 	**577r4   c              #     "   R pV P                  V4      pV'       d   \        V P                  V4      4      x  R# \        P                  ! RV 4       R# 5i)__next__z(Instance has no __next__ function in %s.N)r   r   r   r   warning)r-   r   rY   next_slot_namess   &&  r2   r   _BaseTreeInstance.py__next__  sI     66t<!++O<  MMDdKs   AAc                   <a V P                  R 4      pV'       g   \        SV `	  S4      # \        P                  ! V3R lV 4       4      # )r   c              3   `   <"   T F#  qP                  4       P                  S4      x  K%  	  R # 5ir6   r   )r   rY   r(   s   & r2   r   /_BaseTreeInstance.py__call__.<locals>.<genexpr>  s#     !Ted**,"6"6y"A"Aer   )r   r*   
py__call__r   r   )r-   r(   r   r1   s   &f r2   r  _BaseTreeInstance.py__call__  s=    ,,Z87%i00!!!Te!TTTr4   c                <   V P                   P                  4        F#  pVP                  WV4      pV\        Jg   K!  Vu # 	  V P	                  R4      pV'       d8   Vf"   \
        P                  ! V P                  R4      pV P                  WQV4      # \        V .4      # )z
obj may be None.
__get__None)
rt   r   py__get__on_classNotImplementedr   r   builtin_from_nameru   r   r   )r-   r.   rt   r   resultr   s   &&&   r2   r   _BaseTreeInstance.py__get__  s     ##--/C**4;GF^+ 0
 ,,Y7#55d6J6JFS..uLLTF##r4   r<   r   r6   )rA   rB   rC   rD   r   r   rY   re   r   r   r  r   r  r   rE   rF   rG   rH   s   @@r2   r   r      sd       @ @. "#, $,80LU$ $r4   r   c                   n   a a ] tR tRt oV 3R lt]! RR7      R 4       tR tR tV 3R lt	R	 t
R
tVtV ;t# )TreeInstancei1  c                
  < VP                  4       R9   dF   VP                  4       P                  4       '       d"   \        P                  '       d   \        W4      p\        SV `  WV4       W@n        VP                  V n	        R# )rh   N)rh   r   )
r   r   r   r   dynamic_array_additionsr"   r*   r+   r   rU   r   s   &&&&&r2   r+   TreeInstance.__init__2  se     !!#6"335HHJJ///6tG	+F#$..r4   N)defaultc                L   ^ RI HpHp \        W P                  4      pV P
                  P                  R4      P                  4        F  pVP                  P                  pVe)   VP                  R8w  g   VP                  V4      '       g   KG  \        W P
                  P                  4       VP                  4      pV! V4      pV! WcV4      pV'       g   K  V P
                  P                  V! VP                  W74      4      w  p	\        P                   ! RV	RR7       V	u # 	  R# )r   )py__annotations__infer_type_vars_for_executionr+   Nr   zInferred instance value as %sBLUE)color)!jedi.inference.gradual.annotationr  r  InstanceArgumentsr   rt   r   r   r_   rU   typer=   r   r   define_genericsr   dbg)
r-   r  r  rN   	signaturer   r   all_annotationstype_var_dictdefineds
   &         r2   _get_annotated_class_object(TreeInstance._get_annotated_class_objectA  s    	* !7))<<ZHWWYI  oo//G',,)";$66t<< &t-=-=-H-H-JIOO\L/8O9,o^M}++;;1)//4Y 		97&Q# Z$ r4   c                J    V P                  4       ;'       g    V P                  # r6   )r+  rt   r7   s   &r2   r   'TreeInstance.get_annotated_class_object[  s    //1EET5E5EEr4   c                   \         pV P                  R 8X  d   \        V P                  P	                  4       4       F  w  pw  r4Vf:   V^ 8X  d3   V\
        P                  ! R VP                  4        4       4      ,          pV'       g   KO  V\        \        P                  ! V P                  V4      .4      ,          pK  	  V# )r   c              3   h   "   T F(  pVP                   R 8X  g   K  VP                  4       x  K*  	  R# 5ir   N)r   get_key_values)r   vs   & r2   r   .TreeInstance.get_key_values.<locals>.<genexpr>c  s1      1!1A<<61 +((**!1s   22)r   r   	enumerater   unpackr   r   r8   r   r  ru   )r-   valuesikeyr.   s   &    r2   r2  TreeInstance.get_key_values^  s    ??f$&/0F0F0H&I"?C;16h00 1!)!11  F
 3h(E(E,,) (  F 'J r4   c                b  <a V P                   R 8X  d   \        \        V P                  P	                  4       4      4       F^  w  r#Vf=   \
        P                  ! V3R lVP                  4        4       4      pV'       d   Vu # KE  VS8X  g   KN  VP                  4       u # 	  \        SV `%  S4      # )r   c              3   l   <"   T F)  pVP                   R 8X  g   K  VP                  S4      x  K+  	  R# 5ir1  )r   py__simple_getitem__)r   	dct_valueindexs   & r2   r   4TreeInstance.py__simple_getitem__.<locals>.<genexpr>{  s6      0)=I$//69 >	66u==)=s   44)
r   reversedrh   r   r6  r   r   r8   r*   r=  )r-   r?  r9  lazy_contextr7  r1   s   &f   r2   r=  !TreeInstance.py__simple_getitem__p  s    ??f$ &.d4??3I3I3K.L%M!;%// 0)5););)=0 F
 %  e|+1133 &N w+E22r4   c                p    R V P                   P                  : RV P                  : RV P                  : R2# )r   r   (z)>)r1   rA   rt   r   r7   s   &r2   r   TreeInstance.__repr__  s(    #'>>#:#:D<L<L#'??4 	4r4   )r   rU   )rA   rB   rC   rD   r+   r   r+  r   r2  r=  r   rE   rF   rG   rH   s   @@r2   r  r  1  s=     / "$/ 02F$3.4 4r4   r  c                       ] tR tRtRtRtR# )AnonymousInstancei  Nr<   )rA   rB   rC   rD   r   rE   r<   r4   r2   rH  rH    s    Jr4   rH  c                   0   a  ] tR tRt o ]R 4       tRtV tR# )CompiledInstanceNamei  c              #     "   V P                   P                  4        F'  pVP                  R 8X  d   \        V4      x  K#  Vx  K)  	  R# 5i)functionN)_wrapped_namer8   r   CompiledBoundMethodr-   result_values   & r2   r8   CompiledInstanceName.infer  s=      ..446L$$
2),77""	 7s   AA
r<   N)rA   rB   rC   rD   r   r8   rE   rF   rI   s   @r2   rJ  rJ    s     # #r4   rJ  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )r   i  c                    Wn         W n        R # r6   r,   _class_filter)r-   r.   r   s   &&&r2   r+   $CompiledInstanceClassFilter.__init__  s    !r4   c                V    V P                  V P                  P                  V4      4      # r6   _convertrV  r   r   s   &&r2   r   CompiledInstanceClassFilter.get  "    }}T//33D9::r4   c                T    V P                  V P                  P                  4       4      # r6   rZ  rV  r7  r7   s   &r2   r7  "CompiledInstanceClassFilter.values       }}T//66899r4   c                B    V Uu. uF  p\        V4      NK  	  up# u upi r6   )rJ  r-   r   ns   && r2   rZ  $CompiledInstanceClassFilter._convert  s     167A$Q'777s   rV  r,   N)
rA   rB   rC   rD   r+   r   r7  rZ  rE   rF   rR  s   @r2   r   r     s     ;:8 8r4   r   c                      a a ] tR tRt oV 3R ltR t]V 3R l4       tR tR t	RR lt
R tR	 tV 3R
 ltR tRtVtV ;t# )r   i  c                >   < \         SV `  V4       Wn        W n        R # r6   )r*   r+   r.   _class_context)r-   r.   r   rL  r1   s   &&&&r2   r+   BoundMethod.__init__  s    " +r4   c                    R # r;   r<   r7   s   &r2   is_bound_methodBoundMethod.is_bound_method  r?   r4   c                @   < \        V P                  \        SV `  4      # r6   )r    rh  r*   rY   )r-   r1   s   &r2   rY   BoundMethod.name  s     "GL
 	
r4   c                8    \        V P                  R R4      w  pV# )types
MethodType)r	   ru   )r-   cs   & r2   rV   BoundMethod.py__class__  s    ()=)=wUr4   c                :    Vf   Q h\        V P                  V4      # r6   )r#  r.   r-   r(   s   &&r2   _get_argumentsBoundMethod._get_arguments  s    $$$ 	::r4   c                    Vf   \        V P                  V 4      # V P                  V4      p\        V P                  W4      # r6   )r\   r.   rv  rn   ru  s   &&r2   _as_contextBoundMethod._as_context  s:    24==$GG''	2	%dmmTEEr4   c                    \        V P                  \        4      '       d+   V P                  P                  V P	                  V4      4      # V P                  V4      pVP                  4       # r6   )r   _wrapped_valuer   r  rv  r   r8   )r-   r(   function_executions   && r2   r  BoundMethod.py__call__  sV    d))+BCC&&11$2E2Ei2PQQ!__Y7!''))r4   c                    V P                   P                  4        Uu. uF$  p\        V P                  V P                  V4      NK&  	  up# u upi r6   )r|  get_signature_functionsr   r.   rh  )r-   r   s   & r2   r  #BoundMethod.get_signature_functions  sK     ((@@B
B t':':A>B
 	
 
s   *A
c                f   < \         SV `  4        Uu. uF  qP                  V 4      NK  	  up# u upi r6   )r*   r   r   )r-   sigr1   s   & r2   r   BoundMethod.get_signatures  s+    */'*@*BC*B3*BCCCs   .c                T    R V P                   P                  : RV P                  : R2# )r   z: r   )r1   rA   r|  r7   s   &r2   r   BoundMethod.__repr__  s    !^^44d6I6IJJr4   )rh  r.   r6   )rA   rB   rC   rD   r+   rk  r   rY   rV   rv  ry  r  r  r   r   rE   rF   rG   rH   s   @@r2   r   r     sO     ,
 
 
;F*
DK Kr4   r   c                   ,   a  ] tR tRt o R tR tRtV tR# )rN  i  c                    R # r;   r<   r7   s   &r2   rk  #CompiledBoundMethod.is_bound_method  r?   r4   c                |    V P                   P                  4        Uu. uF  qP                  V 4      NK  	  up# u upi r6   )r|  r   r   )r-   r  s   & r2   r   "CompiledBoundMethod.get_signatures  s1    *.*=*=*L*L*NO*N3*NOOOs   9r<   N)rA   rB   rC   rD   rk  r   rE   rF   rR  s   @r2   rN  rN    s     P Pr4   rN  c                   R   a a ] tR tRt oRtR t]R 4       tR tV 3R lt	Rt
VtV ;t# )SelfNamei  z1
This name calculates the parent_context lazily.
c                *    Wn         W n        W0n        R # r6   r,   r   r0   )r-   r.   r   r0   s   &&&&r2   r+   SelfName.__init__  s    !*"r4   c                b    V P                   P                  V P                  V P                  4      # r6   )r,   r   r   r0   r7   s   &r2   rv   SelfName.parent_context  s#    ~~55d6H6H$..YYr4   c                    V P                   # r6   r@   r7   s   &r2   get_defining_qualified_value%SelfName.get_defining_qualified_value      ~~r4   c                >  < \        V P                  R 4      pVev   VP                  ^,          P                  R8X  dT   ^ RIHp V! V P                  VP                  ^,          P                  ^,          4      P                  4       pV'       d   V# \        SV `%  4       # )	expr_stmt	annassign)infer_annotation)
r   r0   childrenr$  r"  r  rv   execute_annotationr*   r8   )r-   stmtr  r7  r1   s   &   r2   r8   SelfName.infer  s~    t~~{;}}Q$$3N)''q)9)B)B1)E$$&  !Mw}r4   r  )rA   rB   rC   rD   __doc__r+   r   rv   r  r8   rE   rF   rG   rH   s   @@r2   r  r    s4     #
 Z Z
 
r4   r  c                   N   a a ] tR tRt oV 3R lt]R 4       tR tR tRt	Vt
V ;t# )LazyInstanceClassNamei  c                2   < \         SV `  V4       Wn        R # r6   r)   )r-   r.   class_member_namer1   s   &&&r2   r+   LazyInstanceClassName.__init__  s    *+!r4   c              #     "   V P                   P                  4        F?  pVP                  V P                  V P                  P	                  4       4       R j  xL
  KA  	  R #  L
5ir6   )rM  r8   r   r,   rV   rO  s   & r2   r8   LazyInstanceClassName.infer  sH      ..446L#--dnndnn>X>X>Z[[[ 7[s   AA$A"A$c                >    V P                  4       P                  4       # r6   )r8   r   r7   s   &r2   r   $LazyInstanceClassName.get_signatures  s    zz|**,,r4   c                    V P                   # r6   r@   r7   s   &r2   r  2LazyInstanceClassName.get_defining_qualified_value  r  r4   r@   )rA   rB   rC   rD   r+   r   r8   r   r  rE   rF   rG   rH   s   @@r2   r  r    s/     " \ \- r4   r  c                   B   a  ] tR tRt o RtR tR tR tR tR t	Rt
V tR	# )
r   i  z
This filter is special in that it uses the class filter and wraps the
resulting names in LazyInstanceClassName. The idea is that the class name
filtering can be very flexible and always be reflected in instances.
c                    Wn         W n        R # r6   rU  )r-   r.   class_filters   &&&r2   r+   InstanceClassFilter.__init__  s    !)r4   c                V    V P                  V P                  P                  V4      4      # r6   rY  r   s   &&r2   r   InstanceClassFilter.get  r\  r4   c                T    V P                  V P                  P                  4       4      # r6   r^  r7   s   &r2   r7  InstanceClassFilter.values  r`  r4   c                X    V Uu. uF  p\        V P                  V4      NK  	  up# u upi r6   )r  r,   rb  s   && r2   rZ  InstanceClassFilter._convert"  s4     
 "$..!4
 	
 
s   'c                T    R V P                   P                  : RV P                  : R2# )r   z for r   )r1   rA   rV  r7   s   &r2   r   InstanceClassFilter.__repr__(  s     $ 7 79K9KLLr4   re  N)rA   rB   rC   rD   r  r+   r   r7  rZ  r   rE   rF   rR  s   @r2   r   r     s*     
*;:
M Mr4   r   c                   T   a a ] tR tRt oRtV 3R ltR tR tR tR t	R t
R	tVtV ;t# )
r   i,  zM
This class basically filters all the use cases where `self.*` was assigned.
c                :   < \         SV `  VVVR R7       Wn        R# )T)rt   node_contextrc   ry   Nr)   )r-   r.   instance_classr  rc   r1   s   &&&&&r2   r+   SelfAttributeFilter.__init__0  s(    &%%	 	 	
 "r4   c                    V P                   P                  V P                   P                  r2V Uu. uF#  qBVP                  u;8  d
   V8  g   K  M K!  VNK%  	  ppV P                  V4      # u upi r6   )_parser_scope	start_posend_pos_filter_self_names)r-   r   startendrc  s   &&   r2   _filterSelfAttributeFilter._filter9  s_    ''1143E3E3M3Ms!?EqQ[[%>3%>%>E?&&u-- @s   A,A,A,c              #    "   V F  pVP                   pVP                  R 8X  g   K"  \        VP                   P                  4      ^8X  g   KH  VP                  ^ ,          R8X  g   Kb  VP	                  4       '       g   Kz  V P                  V4      '       g   K  V P                  VP                   P                  ^ ,          V4      '       g   K  Vx  K  	  R# 5i)trailer.N)parentr$  lenr  is_definition_access_possible_is_in_right_scope)r-   r   rY   r  s   &&  r2   r  &SelfAttributeFilter._filter_self_names>  s     DkkG||y(GNN3349((+s2%%''D,A,A$,G,G ..w~~/F/Fq/I4PP"
 s(    C!CC'C?C0C
Cc                   a  S P                   P                  V4      pVP                  WP                  R 7      p\        ;QJ d    V 3R lV 4       F  '       g   K   R# 	  R# ! V 3R lV 4       4      # ))positionc              3      <"   T Fm  pVP                   R 8H  ;'       dR    VP                  P                  4       P                  ^ 8H  ;'       d#    VP                  P
                  SP                  J x  Ko  	  R# 5i)rX   N)r   r0   get_definitionrS   rv   rU   r  )r   rc  r-   s   & r2   r   9SelfAttributeFilter._is_in_right_scope.<locals>.<genexpr>M  sx      
  JJ'! A A**,;;q@A A  **d.@.@@A s   A8.A8+A8TF)_node_contextr   gotor  any)r-   	self_namerY   self_contextr   s   f&&  r2   r  &SelfAttributeFilter._is_in_right_scopeJ  sq    ))88C!!)6I6I!Js 
 	
ss 	
s 	
s 
 	
 
 	
r4   c                n    V Uu. uF$  p\        V P                  V P                  V4      NK&  	  up# u upi r6   )r  r,   r  )r-   r   rY   s   && r2   _convert_names"SelfAttributeFilter._convert_namesT  s-    OTUut););TBuUUUs   *2c                    V# r6   r<   )r-   r   s   &&r2   _check_flows SelfAttributeFilter._check_flowsW  s    r4   r@   )rA   rB   rC   rD   r  r+   r  r  r  r  r  rE   rF   rG   rH   s   @@r2   r   r   ,  s.     ".

#
V r4   r   c                   <   a a ] tR tRt oV 3R ltRR ltRtVtV ;t# )r#  i[  c                2   < \         SV `  V4       Wn        R # r6   r^   )r-   r.   r(   r1   s   &&&r2   r+   InstanceArguments.__init__\  s    # r4   c              #     "   R \        V P                  4      3x  V P                  P                  V4       R j  xL
  R #  L5ir6   )r   r.   _wrapped_argumentsr6  )r-   r   s   &&r2   r6  InstanceArguments.unpack`  s3     N4==111**11$777s   8AAArl   r6   )	rA   rB   rC   rD   r+   r6  rE   rF   rG   rH   s   @@r2   r#  r#  [  s     !8 8r4   r#  N)Dabcr   
parso.treer   jedir   r   jedi.inferencer   jedi.inference.compiled.valuer   jedi.inference.helpersr	   r
   jedi.inference.filtersr   r   jedi.inference.namesr   r   r   r   jedi.inference.base_valuer   r   r   r   r   jedi.inference.lazy_valuer   r   jedi.inference.cacher   jedi.inference.argumentsr   r   jedi.inference.value.functionr   r   r   r   r   r    jedi.inference.value.klassr!   #jedi.inference.value.dynamic_arraysr"   jedi.parser_utilsr#   r$   r&   rK   r\   rn   rr   r   r   r  rH  rJ  r   r   rN  r  r  r   r   r#  r<   r4   r2   <module>r     sG     &   # = W S ( ( E = JP P 3 J O
	 
3%E 3,&B .!5 !JJE JJZ, 0o$- o$dX4$ X4v) #; #8. 80K- 0KfP, P! :K "M. M4,+ ,^8, 8r4   