uBFjSdZddlmZddlmZddlmZdedfdedfd e d fd e d fd e d fde d fde d fde d fde d fde d fde d fde d fde d fde d fde d fdZ GddZ Gdde Zd e d fdZdZdZd!d Zd S)"z Module for statical analysis. )tree)debug) is_stringzPotential AttributeError.zPotential NameError.zPotential ImportError.N )attribute-errorz name-errorz import-errorztype-error-too-many-argumentsztype-error-too-few-argumentsztype-error-keyword-argumentztype-error-multiple-valuesztype-error-star-starztype-error-starztype-error-operationztype-error-not-iterableztype-error-isinstanceztype-error-not-subscriptablezvalue-error-too-many-valueszvalue-error-too-few-valuescveZdZd dZedZedZedZdZdZ dZ d Z d Z dS) ErrorNcr||_||_||_|t|jd}||_dS)Nr)path _start_posnameCODESmessage)selfr module_path start_posrs EC:\PYTHON\_runtimes\venv\Lib\site-packages\jedi/inference/analysis.py__init__zError.__init__s8 # ?DI&q)G c|jdSNrrrs r!linez Error.line&q!!r#c|jdS)Nrr&r's r!columnz Error.column*r)r#cv|jjd}|tt|jdzSr%) __class____name__strrr)rfirsts r!codez Error.code.s2'*s5+A.////r#c T|jd|jd|jd|jd|j S)N::  )rr(r+r1rr's r!__str__z Error.__str__4s4$(IIItyyy$+++$(IIIt||= =r#cb|j|jko|j|jko|j|jkSN)rrrrothers r!__eq__z Error.__eq__8s5 UZ'8DI,C8Ou'77 9r#c.|| Sr8)r;r9s r!__ne__z Error.__ne__<s;;u%%%%r#cDt|j|j|jfSr8)hashrrrr's r!__hash__zError.__hash__?sTY;<<)r-r.rrrr's r!__repr__zError.__repr__BsN&*n&=&=&=&*iii&*oa&8&8&8$/!:L:L:LN Nr#r8) r. __module__ __qualname__r"propertyr(r+r1r6r;r=r@rFr#r!rrs""X"""X"00X0 ===999&&&===NNNNNr#rceZdZdS)WarningN)r.rGrHrJr#r!rLrLHsDr#rLcNt|d}t||||rdS|}|}||||j|} t jt| d|jj | | S)NrF)format) r_check_for_exception_catchget_root_context py__file__r rwarningr/inference_stateanalysisappend) node_context error_namenodertyppayload exceptionmodule_contextrissue_instances r!addr^Lsj!!$I!,iII"2244N ++--KS[$.'JJN M#n%%e4444 )00@@@ r#c|}|jdS d}n#t$rYdSwxYwt fd|DS)zU Check if there's any setattr method inside an instance. If so, return True. NFsetattrc3K|]D}j|jcxko jknco |jjdko|jj|k VEdS)funcdefN)r end_posparenttyper).0nrXs r! z%_check_for_setattr..is~$$~ ::::dl::::K 2Iqx}7IJ$$$$$$r#)rP tree_nodeget_used_namesKeyErrorany)instancemodule stmt_namesrXs @r!_check_for_setattrrpZs & & ( (F  D |u((**95 uu $$$$#$$$ $ $$s= A  A cd|d|d}t}|r*|st|rt}||f}t |d||||dS)NzAttributeError: z has no attribute .r)r is_instance is_compiledrprLr^) name_context lookup_valuerrrYrZs r!add_attribute_errorrwos.check_matchsj||~~ 5#--//  J~~:#666*==??7ttur#ct|j}|D]G}t|t|}|dkr!|j jcxkr |jksndSH|D]}|dS |}|D]y}ddlm}t||j rL|j dkrA| D]+} | D]}  | |rdS,i ||rdSzdS)NtryFTr)iterabletuple)iterchildrennextr rcget_except_clause_tests infer_nodejedi.inference.valuer isinstanceSequence array_type py__iter__infer)objr[iterator branch_typesuiterXexcept_classesrr lazy_valuerYr jedi_namerVs r!check_try_for_exceptz8_check_for_exception_catch..check_try_for_excepts %%#  K NNNNNEe##(2Y5HYYYYEMYYYYuu//11 ( (D|tt!-!8!8!>!>) ( (C======!#x'899 (Ng55*-..*:*:00J'1'7'7'9'900#.;sI#>#>!0+/44444!000 ';sI66(#'444( (  ( (r#c  |j jcxkr |jksnJ|jdvsJ|jd}|jdkr |jdksJ|jd}|jdksJ|jd}|jdksJddlm}| j |}t| }t|d ksJ|d\}} t| } t| dkrt| dsJ| d djksJ|d\}} | } d| vS#t$rYd SwxYw) N)power atom_exprrrhasattrrtrailerarglist) TreeArgumentsrF)r rcrervaluejedi.inference.argumentsrrSlistunpacklenrrget_safe_valueAssertionError)rXrbaserrrargs unpacked_argskeyrnamesobjectsrrVrZs r! check_hasattrz1_check_for_exception_catch..check_hasattrs ?i&9IIIIEMIIIIII9 66666=#D9&&4:+B+B+BBmA&G<9,,,,&q)G<9,,,, > > > > > > =!=|WUUD //M}%%****,A.OC))++,,Eu::??yq':':??:8**,, 0@@@@@,A.OC &&((G1:( (   55 sE;E?? F  F Ntry_stmtT)if_stmt while_stmtrrF) rrFunctionClassFlowreAttributeErrorrrd)rVrr[rZrrrrs`` ` @r!rOrO~s (((((((8: C /*S4=$*2M"N"N/ c49 % % x:%%*>*>sI*N*N%tN**sx;T/T/T =a#,q/BB 4j /*S4=$*2M"N"N/ 5r#r8)__doc__ parso.pythonrjedirjedi.inference.helpersrr NameError ImportError TypeError ValueErrorrrrLr^rprwrOrJr#r!rs,,,,,,>+FGi!78 %=>&'D%9%& 4$8$%y$#7#$i"6 409d+D1 "It4 )T2%'D$9$& D#9#%z4"8  &(N(N(N(N(N(N(N(NV     e   15%    $$$* F F FWWWWWWr#