
    hi@                    Z   U d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZ ddlmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z* ddl+m,Z, d!dZ- G d de,d                   Z. G d de'd                   Z/d"dZ0d#dZ1dZ2de3d<   d$dZ4d%d Z5dS )&z,Fix up various things after deserialization.    )annotations)AnyFinal)lookup_fully_qualified)BlockClassDef	DecoratorFuncDefMypyFileOverloadedFuncDefParamSpecExprSymbolTable	TypeAliasTypeInfoTypeVarExprTypeVarTupleExprVar)	NOT_READYAnyTypeCallableTypeInstanceLiteralType
Overloaded
ParametersParamSpecType
ProperType	TupleTypeTypeAliasTypeTypedDictType	TypeOfAnyTypeTypeTypeVarTupleTypeTypeVarTypeTypeVisitorUnboundType	UnionType
UnpackType)NodeVisitortreer   modulesdict[str, MypyFile]allow_missingboolreturnNonec                f    t          ||          }|                    | j        | j                   d S N)	NodeFixervisit_symbol_tablenamesfullname)r)   r*   r,   
node_fixers       Z/var/www/html/Pagina-Ingenieria-Requisitos/venv/lib/python3.11/site-packages/mypy/fixup.pyfixup_moduler8   3   s1    7M22J!!$*dm<<<<<    c                  ~    e Zd ZU dZded<   d-d
Zd.dZd/dZd0dZd1dZ	d2dZ
d3dZd4d!Zd5d$Zd6d&Zd7d)Zd8d,ZdS )9r2   NzTypeInfo | Nonecurrent_infor*   r+   r,   r-   r.   r/   c                V    || _         || _        t          | j         |          | _        d S r1   )r*   r,   	TypeFixer
type_fixerselfr*   r,   s      r7   __init__zNodeFixer.__init__<   s(    *#DL-@@r9   infor   c                :     j         }	 | _         |j        r|j                                        |j        r                      |j        |j                   |j        r$|j        D ]}|                     j                   |j        r$|j        D ]}|                     j                   |j	        r|j	                             j                   |
                    |j	                   |j        rct          |j        j                  |j        _        t          |j        j                  D ]&\  }}t!          |t"                    r||j        _        '|j        r|j                             j                   |                    |j                   |j        rct          |j        j                  |j        _        t          |j        j                  D ]&\  }}t!          |t"                    r||j        _        '|j        r|j                             j                   |j        r|j                             j                   |j        r|j                             j                   |j        rf|j                             j                   t3          |g           }||j        j        j        vr$|j        j        j                            |           |j        r fd|j        D             |_        d |_        | _         d S # | _         w xY w)Nc                H    g | ]}t          j        |j                   S )r,   )lookup_fully_qualified_typeinfor*   r,   ).0namer@   s     r7   
<listcomp>z-NodeFixer.visit_type_info.<locals>.<listcomp>n   sF         4d$:L    r9   )r;   defnacceptr4   r3   r5   basesr>   _promote
tuple_typeupdate_tuple_typespecial_aliaslist	type_varsalias_tvars	enumerate
isinstancer"   tvar_tuple_indextypeddict_typeupdate_typeddict_typedeclared_metaclassmetaclass_type	self_typealt_promoter   typeappend	_mro_refsmro)r@   rB   	save_infobasepitinstances   `       r7   visit_type_infozNodeFixer.visit_type_infoB   s7   %	2	* $Dy '	  &&&z C''
DMBBBz 1 J 1 1DKK0000} . . .AHHT_---- D&&t777&&t777% D59$):M5N5ND&2 )$)*= > > D D1%a)9:: DBCD.?" D#**4?;;;**4+>???% D59$):M5N5ND&2 )$)*= > > D D1%a)9:: DBCD.?& @'..t???" <#**4?;;;~ 7%%do666 D ''888#D"-- 4#3#8#AAA$)299(CCC~ &    !%	   "& )D	D))))s   K>L 	Lsymtabr   table_fullnamestrc                   t          |          D ],}||         }|j        }|d |_        || j        v r| j        |         |_        7t	          || j        | j                   }|B||u rt          |dz             |_        r|j        J |dz   |z   |f            |j        |_        | j        sJ d|             t          | j                  |_        t          |j        t                    r| 
                    |j                   |j        |j                            |            J d|d|             d S )Nraise_on_missingz@deleted.FzCould not find cross-ref zUnexpected empty node z: )rQ   	cross_refr*   noder   r,   r   missing_inforU   r   rg   rK   )r@   rh   ri   keyvaluero   stnodes          r7   r3   zNodeFixer.visit_symbol_tabley   s   << )	L )	LC3KEI$"&,,!%i!8EJJ3!4<dFXBX  F )!U?? *-S:-=)>)>EJJ#);#:#:^c=QTW=WYb<c#:#:#:)/EJJ!/ @M&M)&M&MMMM &2$,%?%?

ej(33 L((4444Z+J%%d++++K"K3"K"KE"K"KKKKS)	L )	Lr9   funcr
   c                    | j         | j         |_        |j        G|j                            | j                   t          |j        t                    r||j        _        d S d S d S r1   )r;   rB   r]   rK   r>   rU   r   
definition)r@   ru   s     r7   visit_func_defzNodeFixer.visit_func_def   sk    ()DI9 IT_---$)\22 ,'+	$$$ ! , ,r9   or   c                   | j         | j         |_        |j        r|j                            | j                   |j        D ]}|                    |            |j        r|j                            |            t          |j        t                    r,t          |j        j        |j                  D ]\  }}||_
        d S d S r1   )r;   rB   r]   rK   r>   itemsimplrU   r   ziprw   )r@   ry   itemtyps       r7   visit_overloaded_func_defz#NodeFixer.visit_overloaded_func_def   s    (&AF6 	+FMM$/***G 	 	DKK6 	 FMM$afj)) 	& qw77 & &	T!%	& 	&& &r9   dr	   c                   | j         | j         |j        _        |j        r|j                            |            |j        r|j                            |            |j        D ]}|                    |            |j        j        }t          |t                    r#t          |t                    r|j        |_
        d S d S d S r1   )r;   varrB   ru   rK   
decoratorsr]   rU   r   r   rw   )r@   r   rp   r   s       r7   visit_decoratorzNodeFixer.visit_decorator   s    (*AEJ6 	 FMM$5 	ELLL 	 	DKKejc:&& 	$:c<+H+H 	$VCNNN	$ 	$ 	$ 	$r9   cr   c                N    |j         D ]}|                    | j                   d S r1   )rR   rK   r>   )r@   r   vs      r7   visit_class_defzNodeFixer.visit_class_def   s4     	& 	&AHHT_%%%%	& 	&r9   tvr   c                    |j         D ]}|                    | j                   |j                            | j                   |j                            | j                   d S r1   )valuesrK   r>   upper_bounddefault)r@   r   rs   s      r7   visit_type_var_exprzNodeFixer.visit_type_var_expr   s`    Y 	* 	*ELL))))
do...

$/*****r9   rc   r   c                    |j                             | j                   |j                            | j                   d S r1   )r   rK   r>   r   r@   rc   s     r7   visit_paramspec_exprzNodeFixer.visit_paramspec_expr   s8    	T_---		)))))r9   r   c                    |j                             | j                   |j                            | j                   |j                            | j                   d S r1   )r   rK   r>   tuple_fallbackr   )r@   r   s     r7   visit_type_var_tuple_exprz#NodeFixer.visit_type_var_tuple_expr   sQ    
do...
  111

$/*****r9   r   r   c                    | j         | j         |_        |j        |j                            | j                   |j        !|j                            | j                   d S d S r1   )r;   rB   r]   rK   r>   setter_type)r@   r   s     r7   	visit_varzNodeFixer.visit_var   sa    (&AF6FMM$/***=$M  11111 %$r9   ar   c                    |j                             | j                   |j        D ]}|                    | j                   d S r1   )targetrK   r>   rS   )r@   r   r   s      r7   visit_type_aliaszNodeFixer.visit_type_alias   sJ    	((( 	& 	&AHHT_%%%%	& 	&r9   r*   r+   r,   r-   r.   r/   )rB   r   r.   r/   )rh   r   ri   rj   r.   r/   )ru   r
   r.   r/   )ry   r   r.   r/   )r   r	   r.   r/   )r   r   r.   r/   )r   r   r.   r/   )rc   r   r.   r/   )r   r   r.   r/   )r   r   r.   r/   )r   r   r.   r/   )__name__
__module____qualname__r;   __annotations__rA   rg   r3   rx   r   r   r   r   r   r   r   r    r9   r7   r2   r2   9   s!        $(L((((A A A A4* 4* 4* 4*n+L +L +L +LZ, , , ,& & & &$ $ $ $& & & &+ + + +* * * *+ + + +
2 2 2 2& & & & & &r9   r2   Nc                      e Zd Zd9dZd:d
Zd;dZd<dZd=dZd>dZd<dZ	d<dZ
d<dZd<dZd<dZd?dZd@d ZdAd#ZdBd&ZdCd)ZdDd+ZdEd.ZdFd0ZdGd2ZdHd5ZdId7Zd8S )Jr=   r*   r+   r,   r-   r.   r/   c                "    || _         || _        d S r1   )r*   r,   r?   s      r7   rA   zTypeFixer.__init__   s    *r9   instr   c                   |j         }|d S d |_         t          | j        || j                  |_        |j        j        D ]%}|j        t          u r|                    |            &|j        D ]}|                    |            |j	        |j	                            |            |j
        r6|j
        j                                        D ]}|                    |            d S d S NrE   )type_refrF   r*   r,   r]   rL   r   rK   argslast_known_valueextra_attrsattrsr   )r@   r   r   rb   r   r   s         r7   visit_instancezTypeFixer.visit_instance   s   =F3L($2D
 
 
	
 IO 	" 	"DyI%%D!!! 	 	AHHTNNNN ,!((... 	%+2244  	 	 r9   re   r   c                    |j         }|d S d |_         t          | j        || j                  |_        |j        D ]}|                    |            d S r   )r   lookup_fully_qualified_aliasr*   r,   aliasr   rK   )r@   re   r   r   s       r7   visit_type_alias_typezTypeFixer.visit_type_alias_type  sk    :F
.L($2D
 
 
  	 	AHHTNNNN	 	r9   ry   r   c                    d S r1   r   r@   ry   s     r7   	visit_anyzTypeFixer.visit_any      r9   ctr   c                   |j         r|j                             |            |j        D ]}||                    |            |j        |j                            |            |j        D ]}|                    |            |j        |j                            |            |j        |j                            |            d S d S r1   )fallbackrK   	arg_typesret_type	variables
type_guardtype_is)r@   r   argtr   s       r7   visit_callable_typezTypeFixer.visit_callable_type  s    ; 	%Kt$$$L 	" 	"DD!!!;"Kt$$$ 	 	AHHTNNNN=$M  &&&:!Jd##### "!r9   r   c                D    |j         D ]}|                    |            d S r1   r{   rK   )r@   re   r   s      r7   visit_overloadedzTypeFixer.visit_overloaded#  s.    ' 	 	BIIdOOOO	 	r9   c                "    t          d|          NzShouldn't get hereRuntimeErrorr   s     r7   visit_erased_typezTypeFixer.visit_erased_type'  s    /333r9   c                    d S r1   r   r   s     r7   visit_deleted_typezTypeFixer.visit_deleted_type+  r   r9   c                    d S r1   r   r   s     r7   visit_none_typezTypeFixer.visit_none_type.  r   r9   c                    d S r1   r   r   s     r7   visit_uninhabited_typez TypeFixer.visit_uninhabited_type1  r   r9   c                "    t          d|          r   r   r   s     r7   visit_partial_typezTypeFixer.visit_partial_type4  s    /333r9   ttr   c                    |j         r|j         D ]}|                    |            |j        |j                            |            d S d S r1   )r{   rK   partial_fallback)r@   r   its      r7   visit_tuple_typezTypeFixer.visit_tuple_type7  s\    8 	 h    		$*&&t,,,,, +*r9   tdtr   c                <   |j         r1|j                                         D ]}|                    |            |j        \|j        j        4t          |j        j        | j        | j                   	 d|j        _        |j                            |            d S d S )Nrl   ztyping._TypedDict)r{   r   rK   r   r   r   r*   r,   )r@   r   r   s      r7   visit_typeddict_typezTypeFixer.visit_typeddict_type>  s    9 	 i&&((    		$<#|$0*--1-?)?  
  -@CL)L%%%%% $#r9   ltr   c                :    |j                             |            d S r1   )r   rK   )r@   r   s     r7   visit_literal_typezTypeFixer.visit_literal_typeQ  s    
4     r9   tvtr#   c                    |j         r|j         D ]}|                    |            |j                            |            |j                            |            d S r1   )r   rK   r   r   )r@   r   vts      r7   visit_type_varzTypeFixer.visit_type_varT  s`    : 	 j    		$t$$$4     r9   rc   r   c                n    |j                             |            |j                            |            d S r1   )r   rK   r   r   s     r7   visit_param_speczTypeFixer.visit_param_spec[  s4    	T"""		r9   r"   c                    |j                             |            |j                            |            |j                            |            d S r1   )r   rK   r   r   r@   re   s     r7   visit_type_var_tuplezTypeFixer.visit_type_var_tuple_  sK    	%%%	T"""		r9   ur'   c                :    |j                             |            d S r1   )r]   rK   )r@   r   s     r7   visit_unpack_typezTypeFixer.visit_unpack_typed      	dr9   r   c                    |j         D ]}||                    |            |j        D ]}|                    |            d S r1   )r   rK   r   )r@   rc   r   r   s       r7   visit_parameterszTypeFixer.visit_parametersg  s\    K 	" 	"DD!!!; 	 	CJJt	 	r9   r%   c                D    |j         D ]}|                    |            d S r1   )r   rK   )r@   ry   r   s      r7   visit_unbound_typezTypeFixer.visit_unbound_typen  s.     	 	AHHTNNNN	 	r9   utr&   c                V    |j         r|j         D ]}|                    |            d S d S r1   r   )r@   r   r   s      r7   visit_union_typezTypeFixer.visit_union_typer  sB    8 	 h    		$	  	    r9   r!   c                :    |j                             |            d S r1   )r~   rK   r   s     r7   visit_type_typezTypeFixer.visit_type_typew  r   r9   Nr   )r   r   r.   r/   )re   r   r.   r/   )ry   r   r.   r/   )r   r   r.   r/   )re   r   r.   r/   )r   r   r.   r/   )r   r   r.   r/   )r   r   r.   r/   )r   r#   r.   r/   )rc   r   r.   r/   )re   r"   r.   r/   )r   r'   r.   r/   )rc   r   r.   r/   )ry   r%   r.   r/   )r   r&   r.   r/   )re   r!   r.   r/   )r   r   r   rA   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r9   r7   r=   r=      s       + + + +   ,	 	 	 	   $ $ $ $    4 4 4 4         4 4 4 4- - - -& & & &&! ! ! !! ! ! !      
                
     r9   r=   rH   rj   r   c                   t          || |           }|r|j        nd }t          |t                    r|S |s9J d                    t          |          j        |r|j        nd                      t          |           S )Nrl   zCShould never get here in normal mode, got {}:{} instead of TypeInfo )	r   rp   rU   r   formatr]   r   r5   rq   )r*   rH   r,   rt   rp   s        r7   rF   rF   {  s     $D'DUVVVF *6;;dD$!! 	% 	
 	
PWWJJ$!>B
 
	
 	
 	

 G$$$r9   r   c                  t          || |           }|r|j        nd }t          |t                    r|S t          |t                    ra|j        r|j        S |j        rt          j        |          }n.|j        rt          j	        |          }n|sJ t                      S ||_        |S |s9J d                    t          |          j        |r|j        nd                      t                      S )Nrl   zDShould never get here in normal mode, got {}:{} instead of TypeAliasr   )r   rp   rU   r   r   rP   rN   from_tuple_typerW   from_typeddict_typemissing_aliasr   r]   r   r5   )r*   rH   r,   rt   rp   r   s         r7   r   r     s    $D'DUVVVF *6;;dD$	"" 	D(	#	#  	&%%? 	#-d33EE  	#1$77EE     ??"" 	
 	
QXXJJ$!>B
 
	
 	
 	

 r9   z@<missing {}: *should* have gone away during fine-grained update>r   _SUGGESTIONc                   t                               d          }t          |t          g                     }||_        t          t                      |d          }t          | dd          }t          |g           g|_	        ||g|_
        |S )NrB   z	<missing>zbuiltins.objectFrE   )r   r   r   r   r5   r   r   rF   r   rL   r`   )r*   
suggestion	dummy_defrB   obj_types        r7   rq   rq     s    ##F++JU2YY//I#IKMM9k::D.w8IY^___H8R(()DJhDHKr9   c                     t                               d          } t          t          t          j                  | dd          S )Nr   )linecolumn)r   r   r   r   r    special_form)r   s    r7   r   r     s8    ##G,,JWY344jrRTUUUUr9   )r)   r   r*   r+   r,   r-   r.   r/   )r*   r+   rH   rj   r,   r-   r.   r   )r*   r+   rH   rj   r,   r-   r.   r   )r*   r+   r.   r   )r.   r   )6__doc__
__future__r   typingr   r   mypy.lookupr   
mypy.nodesr   r   r	   r
   r   r   r   r   r   r   r   r   r   
mypy.typesr   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   mypy.visitorr(   r8   r2   r=   rF   r   r   r   rq   r   r   r9   r7   <module>r	     s   2 2 2 " " " " " "         . . . . . .                                                                        , % $ $ $ $ $= = = =n& n& n& n& n&D! n& n& n&bN N N N ND! N N Nb% % % %"   < X W W W W	 	 	 	V V V V V Vr9   