ML i'`dZddlmZddlmZddlmZmZddlm Z ddl m Z m Z ddl mZddlmZdd lmZdd lmZdd lmZmZmZmZmZmZmZmZmZmZm Z dd l!m"Z"m#Z#dd l$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-ddl.m/Z/Gdde Z0eGddZ1eGdde"Z2GddZ3y)z;Shared definitions used by different parts of type checker.) annotations)abstractmethod)IteratorSequence)contextmanager) NamedTupleoverload)trait) ErrorCode) ErrorWatcher) ErrorMessage) ArgKindContext ExpressionFuncItem LambdaExprMypyFileNodeRefExpr SymbolNodeTypeInfoVar)CheckerPluginInterfacePlugin) CallableTypeInstance LiteralValue Overloaded PartialType TupleTypeType TypedDictTypeTypeType) fill_typevarsc"eZdZUded<ded<y) TypeRanger!itemboolis_upper_boundN)__name__ __module__ __qualname____annotations__Y/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/mypy/checker_shared.pyr&r&-s Jr/r&cteZdZe d ddZedddZe d ddZe d ddZeddZe d ddZ e d dd Z edd Z ed dd  dd Z y)ExpressionCheckerSharedApiNFctNNotImplementedError)selfnode type_contextallow_none_returnalways_allow_any is_callees r0acceptz!ExpressionCheckerSharedApi.accept4s "!r/ctr4r5)r7elvalues r0analyze_ref_exprz+ExpressionCheckerSharedApi.analyze_ref_expr?!!r/c tr4r5) r7calleeargs arg_kindscontext arg_names callable_node callable_name object_type original_types r0 check_callz%ExpressionCheckerSharedApi.check_callCs "!r/ctr4r5)r7rJrDrErFrGrHrKs r0transform_callee_typez0ExpressionCheckerSharedApi.transform_callee_typeRs "!r/ctr4r5)r7rK method_names r0method_fullnamez*ExpressionCheckerSharedApi.method_fullname_rBr/ctr4r5)r7method base_typerErFrGrLs r0check_method_call_by_namez4ExpressionCheckerSharedApi.check_method_call_by_namec "!r/ctr4r5)r7td_typeindexsetitems r0visit_typeddict_index_exprz5ExpressionCheckerSharedApi.visit_typeddict_index_expro "!r/ctr4r5)r7value fallback_names r0infer_literal_expr_typez2ExpressionCheckerSharedApi.infer_literal_expr_typeurBr/T)include_modulessuppress_errorsctr4r5)r7r8ctx is_lvaluerbrcs r0analyze_static_referencez3ExpressionCheckerSharedApi.analyze_static_referenceyrWr/)NFFF) r8rr9 Type | Noner:r(r;r(r<r(returnr!)F)r?rr@r(rir!)NNNNN)rDr!rElist[Expression]rF list[ArgKind]rGrrHSequence[str | None] | NonerIzExpression | NonerJ str | NonerKrhrLrhrituple[Type, Type]NN)rJrmrDr!rErjrFrkrGrrHrlrKrhrir!)rKr!rQstrrirmr4)rTrprUr!rErjrFrkrGrrLrhrirn)rYr"rZrr[r(riztuple[Type, set[str]])r_rr`rprir!) r8rrerrfr(rbr(rcr(rir!) r*r+r,rr=rArMrOrRrVr\rargr.r/r0r2r22ss%)"'!& """" "  "  " """"26+/$(#'%) " " "! "  " / ") "" "! "# "  " "26#' "! " " " ! "  "/ "! "  " """&* " " " " ! "  "# "  " "IN"$"-7"BF" "" ""!% % " " " "  " "  " "r/r2ceZdZUded<ded<ded<ded<ded <eed"d Zed#d Zed$d Zed%d Z ed&dZ e d'dZ e e d(dddd d)dZ e e d(ddd d*dZ e d(dddd d+dZ ed,dZe e d- d.dZe e d/dZe d- d0dZed1dZed1dZed2dZe d3dZeed4dZed5dZed6d Zed7d!Zy)8TypeCheckerSharedApirpluginzset[str] module_refs CheckerScopescoper(checking_missing_awaitallow_constructor_cachectr4r5r7s r0 expr_checkerz!TypeCheckerSharedApi.expr_checker "!r/ctr4r5)r7names r0 named_typezTypeCheckerSharedApi.named_typerBr/ctr4r5)r7fullnames r0lookup_typeinfoz$TypeCheckerSharedApi.lookup_typeinforBr/ctr4r5)r7r8s r0 lookup_typez TypeCheckerSharedApi.lookup_typerBr/ctr4r5)r7r~rGs r0handle_cannot_determine_typez1TypeCheckerSharedApi.handle_cannot_determine_typerBr/ctr4r5)r7typrfr8rGs r0handle_partial_var_typez,TypeCheckerSharedApi.handle_partial_var_typer]r/N)notescode outer_contextcyr4r. r7subtype supertyperGmsg subtype_labelsupertype_labelrrrs r0 check_subtypez"TypeCheckerSharedApi.check_subtypesr/)rrcyr4r.) r7rrrGrrrrrs r0rz"TypeCheckerSharedApi.check_subtypesr/ctr4r5rs r0rz"TypeCheckerSharedApi.check_subtypes "!r/ctr4r5rzs r0get_final_contextz&TypeCheckerSharedApi.get_final_contextrBr/cyr4r.r7 expr_type type_rangesredefaults r0#conditional_types_with_intersectionz8TypeCheckerSharedApi.conditional_types_with_intersections+.r/cyr4r.rs r0rz8TypeCheckerSharedApi.conditional_types_with_intersections r/ctr4r5rs r0rz8TypeCheckerSharedApi.conditional_types_with_intersections "!r/ctr4r5r7r8rGs r0check_deprecatedz%TypeCheckerSharedApi.check_deprecatedrBr/ctr4r5rs r0warn_deprecatedz$TypeCheckerSharedApi.warn_deprecatedrBr/ctr4r5)r7types r0type_is_iterablez%TypeCheckerSharedApi.type_is_iterablerBr/ctr4r5)r7itrGs r0iterable_item_typez'TypeCheckerSharedApi.iterable_item_typer]r/ctr4r5rzs r0checking_await_setz'TypeCheckerSharedApi.checking_await_set r|r/ctr4r5)r7r local_errorss r0get_precise_awaitable_typez/TypeCheckerSharedApi.get_precise_awaitable_typerBr/ctr4r5)r7rr~s r0add_any_attribute_to_typez.TypeCheckerSharedApi.add_any_attribute_to_typerBr/ctr4r5)r7rs r0is_defined_in_stubz'TypeCheckerSharedApi.is_defined_in_stubrBr/)rir2)r~rprir)rrprir)r8rrir!)r~rprGrriNone) rrrfr(r8rrGrrir!ro)rr!rr!rGrrrprrmrrmrlist[str] | NonerErrorCode | NonerContext | Nonerir()rr!rr!rGrrr rrmrrmrrrrrir()rr!rr!rGrrzstr | ErrorMessagerrmrrmrrrrrrrir(rir(r4) rr!rlist[TypeRange] | Nonererrrrituple[Type | None, Type | None]) rr!rrrerrr!rirn) rr!rrrerrrhrir)r8z Node | NonerGrrir)rr!rir()rz/Instance | CallableType | TypeType | OverloadedrGrrir!)riIterator[None])rr!rr rirh)rr!r~rprir!)rrrir()r*r+r,r-propertyrr{rrrrrr rrrrrrrrrrrrr.r/r0rrrrs$ N   !! """"""""""""+/"7:"EL" "" %)&* #'!%(,       " $    &    %)&* #'(,       " $   &    %)&* "#'!%(, " " " "  " " "$ "  " "& "  " """  ..,. .  . ) ..  ,B IP [_    $ ""," "  " ) """""""""A"LS" "" """"""""r/rrc~eZdZUded<ddZddZddZddZdddZdd Z dd Z dd Z e dd Z e dd Zy)ruz$list[TypeInfo | FuncItem | MypyFile]stackc|g|_yr4)r)r7modules r0__init__zCheckerScope.__init__ s X r/c`t|jD]}t|ts|cSyr4)reversedr isinstancerr7r?s r0current_functionzCheckerScope.current_function#s.$**% A!X& r/cp|jD]'}t|tst|tr%|cSy)z%Return top-level non-lambda function.N)rrrrrs r0top_level_functionzCheckerScope.top_level_function)s2 A!X&z!Z/H r/c\t|jdtr|jdSy)N)rrrrzs r0 active_classzCheckerScope.active_class0s% djjnh /::b> !r/Nc|xs|j}|sJd|jj|}|sJd|j|dz }t|tr|Sy)z4Is there a class *directly* enclosing this function?z1This method must be called from inside a functionz2CheckerScope stack must always start with a moduleN)rrrZrr)r7funcrZ enclosings r0enclosing_classzCheckerScope.enclosing_class5sj.t,,.HHHt   &JJJuJJuqy) i * r/c|j}|s |jr|j}|r t|Sy)zAn instance or tuple type representing the current class. This returns None unless we are in class body or in a method. In particular, inside a function nested in method this returns None. N)rrrr$r7infos r0active_self_typezCheckerScope.active_self_type@s?   "--/'')D  & &r/crt|jD]}t|tst |cSy)zBSame as active_self_type() but handle functions nested in methods.N)rrrrr$r7r's r0current_self_typezCheckerScope.current_self_typeMs4TZZ( +D$)$T** +r/c2t|jdk(S)z5Is current scope top-level (no classes or functions)?r)lenrrzs r0 is_top_levelzCheckerScope.is_top_levelTs4::!##r/c#~K|jj|d|jjywr4rappendpoprs r0 push_functionzCheckerScope.push_functionX) $  ;=c#~K|jj|d|jjywr4rrs r0 push_classzCheckerScope.push_class^rr)rrrir)riFuncItem | None)riTypeInfo | Noner4)rrrir)rizInstance | TupleType | Noner)r'rrir)rrrir)r*r+r,r-rrrrrrrrrrrr.r/r0rurusX //   $ r/ruN)4__doc__ __future__rabcrcollections.abcrr contextlibrtypingrr mypy_extensionsr mypy.errorcodesr mypy.errorsr mypy.message_registryr mypy.nodesrrrrrrrrrrr mypy.pluginrr mypy.typesrrrrrr r!r"r# mypy.typevarsr$r&r2rrrur.r/r0rsA".%'!%$.    7   (   P"P"P"fR"1R"R"jFFr/