TL iDddlmZddlmZddlmZmZddlmZddlm Z ddlm Z ddlm Z ddl m Z dd lmZmZmZdd lmZmZmZmZmZdd lmZmZmZmZmZdd lmZm Z m!Z!dd l"m#Z#m$Z$ddl%m&Z&ddlm'Z'ddl(m)Z)ddl*m+Z+ddl,m-Z-GddeZ.GddeZ/GddZ0Gdde0e/eZ1GddeZ2Gdde1Z3Gd d!e#e$Z4Gd"d#e4Z5Gd$d%e4Z6Gd&d'e0eZ7d(Z8y))*)tree)debug)inference_state_method_cacheCachedMetaClass)compiled) recursion) docstrings) flow_analysis) TreeSignature)ParserTreeFilterFunctionExecutionFilter AnonymousFunctionExecutionFilter) ValueNameAbstractNameDefinitionAnonymousParamName ParamName NameWrapper)ContextualizedNode NO_VALUESValueSet TreeValue ValueWrapper)LazyKnownValuesLazyKnownValue LazyTreeValue) ValueContextTreeContextMixin)iterable) parser_utils)get_yield_exprs)values_from_qualified_namesTupleGenericManagerc0eZdZdZdZdZedZdZy) LambdaNamezfunctionc4||_|j|_yN) _lambda_valueparent_context)self lambda_values c/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/jedi/inference/value/function.py__init__zLambdaName.__init__s)*99cB|jjjSr()r) tree_node start_posr+s r-r2zLambdaName.start_pos"s!!++555r/c.t|jgSr()rr)r3s r-inferzLambdaName.infer&s++,--r/N) __name__ __module__ __qualname__ string_nameapi_typer.propertyr2r5r/r-r%r%s*KH:66.r/r%ceZdZdZy)FunctionAndClassBasec|jjr1|jj}|y||jfzS|jj r|jfSyr()r*is_classget_qualified_names py__name__ is_module)r+ns r-rAz(FunctionAndClassBase.get_qualified_names+sj    ' ' )##779Ay)++ +  * * ,OO%' 'r/N)r6r7r8rAr<r/r-r>r>*s r/r>c\eZdZdZd dZdZdZedZdZ dZ dd Z d Z d d Z d Zy) FunctionMixinr&Nc#K|j}|jD]}|j|Ed{y7w)N) origin_scope) py__class__execute_with_values get_filters)r+rHclsinstances r-rKzFunctionMixin.get_filters;sH //1 GH+++F F F G Fs9AAAcnddlm}| t|gSt|||j|gS)Nr) BoundMethod)jedi.inference.value.instancerOr as_context)r+rM class_valuerOs r- py__get__zFunctionMixin.py__get__@s8=  TF# #X{/E/E/GNOPPr/c|jjDcgc]}t||jc}Scc}wr()r1 get_paramsrnamer+params r-get_param_nameszFunctionMixin.get_param_namesGs:!^^668:#44: ::s=c|jjdk(r t|St||jjS)Nlambdef)r1typer%rrVr3s r-rVzFunctionMixin.nameKs6 >>  ) +d# #t~~2233r/cy)NTr<r3s r- is_functionzFunctionMixin.is_functionQsr/c.|jjSr()rVr9r3s r-rBzFunctionMixin.py__name__Tsyy$$$r/c |jj}|~d}|j}|j}|j }|j ddj |jDcgc] }|| c}zz}|N|S|jd}|j |jjdjdz}|dz|zScc}w)Nc|j}|jj}||d|zz }|j"|d|jj dzz }|S)Nz: =Finclude_prefix)r9r5 get_type_hint default_nodeget_code)rDs annotations r-param_name_to_strz6FunctionMixin.get_type_hint..param_name_to_strZsdMMWWY446 ) **A>>-q~~66e6LLLAr/z(%s), Frcz -> ) r1rirQr5rerBjoinrYrgchildren) r+add_class_inforeturn_annotationrjfunction_executionresult return_hintrDbodys r-rezFunctionMixin.get_type_hintWs NN55  $ "&!2 '--/F ..0K??$v +;;=;"!$;1(D" +44E4JK??$t~~'>'>q'A'J'JZ_'J'``Df}{**;s9C+ cD|j|}|jSr()rQr5)r+ argumentsrqs r- py__call__zFunctionMixin.py__call__rs !__Y7!''))r/c4| t|St||Sr()AnonymousFunctionExecutionFunctionExecutionContext)r+rvs r- _as_contextzFunctionMixin._as_contextvs  -d3 3'i88r/cZ|jDcgc] }t|c}Scc}wr()get_signature_functionsr )r+fs r-get_signatureszFunctionMixin.get_signatures{s$*.*F*F*HIQ a IIIs(r(T)r6r7r8r:rKrSrYr;rVr^rBrerwr{rr<r/r-rFrF8sKHG Q:44 %+6*9 Jr/rFc.eZdZedZdZdZdZy) FunctionValuec ffd}tt|}jsjr.jjrjr.||}|r2t |tt |Dcgc] }|| c}S|Scc}w)Ncjrtj|Sj|S)N)r*r1)r@ MethodValueinference_state)r1rLcontextr*s r-createz*FunctionValue.from_context..createsL!"++#1' ++#1'r/)list_find_overload_functionsr@ is_instancer*OverloadedFunctionValuereversed)rLrr1roverloaded_funcsr&r~r*s`` @r- from_contextzFunctionValue.from_contexts  8) LM %%'>+E+E+G+::N%%'>+E+E+G)$ *X2BCQvayCDE  DsB.c8t|jdd\}|S)Ntypes FunctionType)r!r)r+cs r-rIzFunctionValue.py__class__s ()=)=w Wr/c|jSr()r*r3s r-get_default_param_contextz'FunctionValue.get_default_param_contexts"""r/c|gSr(r<r3s r-r}z%FunctionValue.get_signature_functionss v r/N)r6r7r8 classmethodrrIrr}r<r/r-rrs$@#r/r) metaclassc$eZdZfdZdZxZS)FunctionNameInClassc2t||||_yr()superr._class_context)r+ class_contextrV __class__s r-r.zFunctionNameInClass.__init__s +r/c6|jjSr()r get_valuer3s r-get_defining_qualified_valuez0FunctionNameInClass.get_defining_qualified_values"",,..r/)r6r7r8r.r __classcell__rs@r-rrs ,/r/rc>eZdZfdZdZdZefdZxZS)rc:t||g|i|||_yr()rr.r)r+rrargskwargsrs r-r.zMethodValue.__init__s" :4:6:*r/c|jSr()rr3s r-rz%MethodValue.get_default_param_contexts!!!r/cd|jj}|y||jfzSr()rrArB)r+namess r-rAzMethodValue.get_qualified_namess5""668 =)+++r/c@t|jt| Sr()rrrrV)r+rs r-rVzMethodValue.names"4#5#5uw|DDr/) r6r7r8r.rrAr;rVrrs@r-rrs(+",EEr/rceZdZdZeeejd dZdZ eje gd dZ d dZ dZ dZy ) BaseFunctionExecutionContextctr()NotImplementedErrorr3s r-infer_annotationsz.BaseFunctionExecutionContext.infer_annotationss!!r/)defaultcL|j}|jdk(r|j|jdS|rt}t |j |}nF|j}|r|S|tj|jz}|j}|D]}|r/|tjd|j|Dz}4tj |||}|tj"urt%j&d|n$ |j}||j|dz}|tj.ust%j&d||S|S#t($r2t+j,|j d}|t|gz}YiwxYw)Nr[c3<K|]}|jywr(r5.0 lazy_values r- zABaseFunctionExecutionContext.get_return_values..s!0"$$&0zReturn unreachable: %sNonezReturn reachable: %s)r1r\ infer_nodernrr rrr infer_return_types_valueiter_return_stmtsr from_sets_get_yield_lazy_valuer reachability_check UNREACHABLErdbgAttributeErrorrbuiltin_from_name REACHABLE) r+ check_yieldsfuncdef value_setreturnsrcheckrnctxs r-get_return_valuesz.BaseFunctionExecutionContext.get_return_valuess.. <<9 $??7#3#3B#78 8 !I%d&:&:GDG..0I! 66t{{C CI//1G AX//0&*&@&@&C0 &88wJM555II6:B#$:: "T__Xa[%AA M333II4a8+ **5&889M9MvV!Xse_4 5s E((8F#"F#c#dK|jdk(r.tj|jd}t |y|j d}|jdk(rAt ||j d}|jj|Ed{yt||y7w)Nkeywordrr yield_arg) r\rrrrrnrr5iterater)r+ yield_exprrnodecns r-rz2BaseFunctionExecutionContext._get_yield_lazy_values ??i ',,T-A-A6JC % % ""1% 99 ##D$--*:;Bxxz))"- - -d+ + .sBB0B.B0c #pKt|j|jDcgc]}|tj|ddddf}}g}d}|D]\}}|j }|j dk(r |j }|j dk(rV||jk(rGtj|r2||k(r|ddj|nh|j||gfnS||jk(r|jd|gfn/|jd } | rt| d td  y|}|D]\}} |!| D]}|j|Ed{)|j} t|| } | j!j#| } t%| } | D]p}t'|j(dj*|j!i}|j-||5| D]}|j|Ed{ dddrycc}w77#1swYxYww) Nfor_stmtr while_stmtif_stmtsuiterrT)rrinf)minmax)r rr1rsearch_ancestorparentr\rfor_stmt_defines_one_nameappendrrfloatr get_testlistrr5rrstrrnvaluepredefine_names)r+is_asyncy for_parents yields_order last_for_stmtyield_rrryields input_noderorderedrdctyield_in_same_for_stmts r-get_yield_lazy_valuesz2BaseFunctionExecutionContext.get_yield_lazy_valuessf !00D0Ddnn UW4//:y0>xH}, $Q'..v6 ''F8(<=T^^+##TF8$45..D.A)%QE%LII$M' %*!- Z Hf$BF#99&AAAB&224 'j9((*,,R0w-")ZJx00399:J.6s!"     " r)rrr)r+rs r-merge_yield_valuesz/BaseFunctionExecutionContext.merge_yield_values5s+!!" "88:"   r/cTtt|j|jSr()boolr rr1r3s r- is_generatorz)BaseFunctionExecutionContext.is_generator;sOD$8$8$..IJJr/c|j}|jjjdv}ddlm|r|j rf|jjd}|jd}|jtftfd|DjS|jjd}|j}|jttftfd |DjS|j r0|js tt!j"||gS|jS) z4 Created to be used by inheritance. ) async_stmt async_funcdefr) GenericClassAsyncGeneratorT)rc3BK|]}|tywr(r"rrrgenericss r-rz5BaseFunctionExecutionContext.infer..Ns& !$7$AB  Coroutinec3BK|]}|tywr(r"rs r-rz5BaseFunctionExecutionContext.infer..Ws# GHL$7$AB r)rr1rr\jedi.inference.gradual.baserr typing_modulepy__getattribute__rrIrrexecute_annotationrrr Generator) r+r is_coroutineasync_generator_classes yield_values async_classes return_valuesrrs @@r-r5z"BaseFunctionExecutionContext.infer>sF..~~,,115TT <   "*9*G*G''(89( $666E (446 B 4 %$&' !0 = = P PQ\ ] $ 6 6 8 )557IN LY $$&'   "4+A+A+C!3!3OT!J KLL--//r/N)F)r6r7r8rrrrexecution_recursion_decoratorrriterrrrr5r<r/r-rrsq"")4,Y,,.&/5&P ,-Y,,T"X>,Z?,Z\ K!0r/rc2eZdZfdZddZdZdZxZS)rzc2t||||_yr()rr. _arguments)r+function_valuervrs r-r.z!FunctionExecutionContext.__init__cs (#r/c#XKt||j|||jyw)N)until_positionrHrv)r rrr+rrHs r-rKz$FunctionExecutionContext.get_filtersgs)% $++)%oo   s(*cHddlm}||j|jS)Nr)r)!jedi.inference.gradual.annotationrrr)r+rs r-rz*FunctionExecutionContext.infer_annotationsosH!$++t??r/c|jjjDcgc]-}t|j|j|j /c}Scc}wr()rr1rUrrVrrWs r-rYz(FunctionExecutionContext.get_param_namesssL..99;  dkk5::t ?   s2ANN)r6r7r8r.rKrrYrrs@r-rzrzbs$ @ r/rzc eZdZdZddZdZy)ryctSr()rr3s r-rz,AnonymousFunctionExecution.infer_annotations{s r/Nc#BKt||j||yw)N)rrH)rrrs r-rKz&AnonymousFunctionExecution.get_filterss". $++)%  sc6|jjSr()rrYr3s r-rYz*AnonymousFunctionExecution.get_param_namess{{**,,r/r)r6r7r8rrKrYr<r/r-ryryzs  -r/ryc2eZdZfdZdZdZddZxZS)rc2t||||_yr()rr._overloaded_functions)r+r&overloaded_functionsrs r-r.z OverloadedFunctionValue.__init__s "%9"r/ctjd|jdg}|jD]Q}|jj |}|j ||j|sA|jcS|jjrtStjd|DS)NzExecute overloaded function %sBLUE)colorc3<K|]}|jywr(r)rfes r-rz5OverloadedFunctionValue.py__call__..s!K"((*!Kr)rr_wrapped_valuerrrQrmatches_signaturer5r is_analysisrrr)r+rvfunction_executions signaturerqs r-rwz"OverloadedFunctionValue.py__call__s 2D4G4GvV ,,. 2I!*!;!;I!F   & &'9 :**95)//11  2    + + !!!K7J!KKKr/c|jSr()r$r3s r-r}z/OverloadedFunctionValue.get_signature_functionss)))r/cLddjd|jDzS)Nz Union[%s]rkc3<K|]}|jywr()re)rr~s r-rz8OverloadedFunctionValue.get_type_hint..s&]Qq'8&]r)rmr$)r+ros r-rez%OverloadedFunctionValue.get_type_hints"TYY&]$B\B\&]]]]r/r)r6r7r8r.rwr}rerrs@r-rrs: L*^r/rc#tKd}|jdk(ry||r| t||j}|j|jj }t |tsJ|syd}|D]9}|jj}|jdk(s)||s2|}d}|;|syw)Nc|jjdk(ro|jjd}|jdk(r|g}n |j}|D]2}|jd}|jdk(s"|jdk(s2yy) N decoratedr decoratorrrVoverloadTF)rr\rnr)r decoratorsr6 dotted_names r-_is_overload_decoratedz8_find_overload_functions.._is_overload_decorateds >>  + - 003J+-(\ '00 ' '003 ##v-+2C2Cz2Q  r/r[T)rFr) r\r r2getrVr isinstancer tree_namer)rr1r:filterrfoundrVrs r-rrs ~~"i( ! $..  9>>//0%&&&  Dnn++G||y(-CG-L#    ' sBB8!B8*B8N)9 parso.pythonrjedirjedi.inference.cacherrjedi.inferencerrr r jedi.inference.signaturer jedi.inference.filtersr r rjedi.inference.namesrrrrrjedi.inference.base_valuerrrrrjedi.inference.lazy_valuerrrjedi.inference.contextrrjedi.inference.valuerrjedi.inference.parser_cacher jedi.inference.helpersr!jedi.inference.gradual.genericsr#r%r>rFrrrrrzryrrr<r/r-rNsN#$%(2%%//&&A)7>? .' . 9 DJDJN*M#7?*Z/+/E-E*U0<1AU0p ; 0-!=-"^m\^4(r/