ML idddlmZddlmZddlmZddlmZddlmZd dZ GddedZ y) ) annotations)IterableN) TypeVisitorsplit_module_namesc*|t|}|ddSgS)z8Returns the module names of a fully qualified type name.Nr) type_namepossible_module_namess V/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/mypy/indirection.pyextract_module_namesr s% 29 =$QR(( ceZdZdZddZddZd dZd!dZd"dZd#dZ d$dZ d%d Z d&d Z d'd Z d(d Zd)d Zd*dZd+dZd,dZd-dZd.dZd/dZd0dZd1dZd2dZd3dZd4dZd5dZd6dZd7dZd8dZy)9TypeIndirectionVisitorz7Returns all module references within a particular type.c^t|_t|_t|_yN)setmodules seen_aliasesseen_fullnames)selfs r __init__zTypeIndirectionVisitor.__init__s!$ 69e(+rct|_t|_t|_|D]}|j ||jSr)rrrr_visitrtypstyps r find_modulesz#TypeIndirectionVisitor.find_modulessDu !eE C KK  ||rct|tjr*||jvry|jj ||j |yr isinstancetypes TypeAliasTyperaddaccept)rrs r rzTypeIndirectionVisitor._visit'sC c5.. /d'''    ! !# & 4rc|D]W}t|tjr*||jvr,|jj ||j |Yyrr rs r _visit_type_tuplez(TypeIndirectionVisitor._visit_type_tuple/R C#u223$+++!!%%c* JJt   rc|D]W}t|tjr*||jvr,|jj ||j |Yyrr rs r _visit_type_listz'TypeIndirectionVisitor._visit_type_list9r(rcj||jvr%|jjt|yyr)rupdater)r module_names r _visit_module_namez)TypeIndirectionVisitor._visit_module_nameCs+ dll * LL   2; ? @ +rc:|j|jyr)r'argsrts r visit_unbound_typez)TypeIndirectionVisitor.visit_unbound_typeGs qvv&rcyrr1s r visit_anyz TypeIndirectionVisitor.visit_anyJ rcyrr5r1s r visit_none_typez&TypeIndirectionVisitor.visit_none_typeMr7rcyrr5r1s r visit_uninhabited_typez-TypeIndirectionVisitor.visit_uninhabited_typePr7rcyrr5r1s r visit_erased_typez(TypeIndirectionVisitor.visit_erased_typeSr7rcyrr5r1s r visit_deleted_typez)TypeIndirectionVisitor.visit_deleted_typeVr7rc|j|j|j|j|j|jyr)r*valuesr upper_bounddefaultr1s r visit_type_varz%TypeIndirectionVisitor.visit_type_varYs4 ahh' AMM" AIIrcp|j|j|j|jyrrrBrCr1s r visit_param_specz'TypeIndirectionVisitor.visit_param_spec^" AMM" AIIrcp|j|j|j|jyrrFr1s r visit_type_var_tuplez+TypeIndirectionVisitor.visit_type_var_tuplebrHrc:|jj|yr)typer%r1s r visit_unpack_typez(TypeIndirectionVisitor.visit_unpack_typefs  drc:|j|jyr)r* arg_typesr1s r visit_parametersz'TypeIndirectionVisitor.visit_parametersis akk*rc`|j|j|jr|jjD]}|j |j |jj :|j |jj jj yyyr)r'r0rLmror.r-metaclass_type)rr2ss r visit_instancez%TypeIndirectionVisitor.visit_instancels qvv& 66VVZZ 7'' 6 7vv$$0''(=(=(B(B(N(NO1 rcz|j|j|j|j|jy|jj }||j vrT|jjt|jj |j j|yyyr) r*rOrret_type definitionfullnamerrr,r r$)rr2rYs r visit_callable_typez*TypeIndirectionVisitor.visit_callable_typews akk* AJJ << #||,,Ht222 ##$89N9N$OP##''13 $rc|jt|j|j|jyr)r*listitemsrfallbackr1s r visit_overloadedz'TypeIndirectionVisitor.visit_overloadeds( d177m, AJJrcp|j|j|j|jyr)r*r]rpartial_fallbackr1s r visit_tuple_typez'TypeIndirectionVisitor.visit_tuple_types& agg& A&&'rc|jt|jj|j |j yr)r*r\r]rArr^r1s r visit_typeddict_typez+TypeIndirectionVisitor.visit_typeddict_types0 d177>>#345 AJJrc:|j|jyr)rr^r1s r visit_literal_typez)TypeIndirectionVisitor.visit_literal_types AJJrc:|j|jyr)r*r]r1s r visit_union_typez'TypeIndirectionVisitor.visit_union_types agg&rcyrr5r1s r visit_partial_typez)TypeIndirectionVisitor.visit_partial_typer7rc:|j|jyr)ritemr1s r visit_type_typez&TypeIndirectionVisitor.visit_type_types AFFrcL|jtj|yr)rr"get_proper_typer1s r visit_type_alias_typez,TypeIndirectionVisitor.visit_type_alias_types E))!,-rN)returnNone)rzIterable[types.Type]rqzset[str])rz types.Typerqrr)rztuple[types.Type, ...]rqrr)rzlist[types.Type]rqrr)r-strrqrr)r2ztypes.UnboundTyperqrr)r2z types.AnyTyperqrr)r2ztypes.NoneTyperqrr)r2ztypes.UninhabitedTyperqrr)r2ztypes.ErasedTyperqrr)r2ztypes.DeletedTyperqrr)r2ztypes.TypeVarTyperqrr)r2ztypes.ParamSpecTyperqrr)r2ztypes.TypeVarTupleTyperqrr)r2ztypes.UnpackTyperqrr)r2ztypes.Parametersrqrr)r2ztypes.Instancerqrr)r2ztypes.CallableTyperqrr)r2ztypes.Overloadedrqrr)r2ztypes.TupleTyperqrr)r2ztypes.TypedDictTyperqrr)r2ztypes.LiteralTyperqrr)r2ztypes.UnionTyperqrr)r2ztypes.PartialTyperqrr)r2ztypes.TypeTyperqrr)r2ztypes.TypeAliasTyperqrr)__name__ __module__ __qualname____doc__rrrr'r*r.r3r6r9r;r=r?rDrGrJrMrPrUrZr_rbrdrfrhrjrmrpr5rr rrsA.A'      + P2 (  ' .rr)r z str | Nonerqz list[str]) __future__rcollections.abcr mypy.typesr"r mypy.utilrr rr5rr r|s,"$"(E.[.E.r