Ë
    pPêj  ã                  ó    — 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mZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ  G d„ dee«      Zy)	é    )Úannotations)ÚAssertTypeExprÚAssignmentStmtÚCastExprÚClassDefÚForStmtÚFuncItemÚNamedTupleExprÚNewTypeExprÚPromoteExprÚ	TypeAliasÚTypeAliasExprÚTypeAliasStmtÚTypeApplicationÚTypedDictExprÚTypeFormExprÚTypeInfoÚTypeVarExprÚVarÚWithStmt)ÚTraverserVisitor)ÚType)ÚTypeTraverserVisitorc                  ó  ‡ — e Zd ZdZdd„Zdd„Zdˆ fd„Zdˆ fd„Zdd„Zdˆ fd„Z	dˆ fd„Z
dˆ fd	„Zdˆ fd
„Zd ˆ fd„Zd!ˆ fd„Zd"ˆ fd„Zd#ˆ fd„Zd$ˆ fd„Zd%ˆ fd„Zd&ˆ fd„Zd'ˆ fd„Zd(ˆ fd„Zd)ˆ fd„Zd*ˆ fd„Zd+d„Zˆ xZS ),ÚMixedTraverserVisitorz2Recursive traversal of both Node and Type objects.c                ó   — d| _         y )NF)Úin_type_alias_expr)Úselfs    úX/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypy/mixedtraverser.pyÚ__init__zMixedTraverserVisitor.__init__    s
   € Ø"'ˆÕó    c               ó:   — | j                  |j                  «       y ©N)Úvisit_optional_typeÚtype)r   Úvars     r   Ú	visit_varzMixedTraverserVisitor.visit_var%   s   € Ø× Ñ  §¡Õ*r!   c               óZ   •— t         ‰| �  |«       | j                  |j                  «       y r#   )ÚsuperÚ
visit_funcr$   r%   ©r   ÚoÚ	__class__s     €r   r*   z MixedTraverserVisitor.visit_func(   s"   ø€ Ü‰Ñ˜1ÔØ× Ñ  §¡Õ(r!   c               ót   •— t         ‰| �  |«       |j                  r| j                  |j                  «       y y r#   )r)   Úvisit_class_defÚinfoÚprocess_type_infor+   s     €r   r/   z%MixedTraverserVisitor.visit_class_def,   s.   ø€ Ü‰Ñ Ô"Ø�6Š6Ø×"Ñ" 1§6¡6Õ*ð r!   c                ó  — |j                   D ]  }|j                  | «       Œ |j                  r|j                  j                  | «       |j                  r|j                  j                  | «       |j                  r|j                  j                  | «       |j
                  s|j                  rU|j                  j                  «       D ]7  }|j                  sŒ|j                  sŒ|j                  j                  | «       Œ9 y y r#   )ÚbasesÚacceptÚspecial_aliasÚ
tuple_typeÚtypeddict_typeÚis_named_tupleÚ
is_newtypeÚnamesÚvaluesÚplugin_generatedÚnode)r   r0   ÚbaseÚsyms       r   r1   z'MixedTraverserVisitor.process_type_info1   sÇ   € ð —J‘Jò 	ˆDØ�K‰K˜Õð	à×Òð ×Ñ×%Ñ% dÔ+Ø�?Š?Ø�O‰O×"Ñ" 4Ô(Ø×ÒØ×Ñ×&Ñ& tÔ,Ø×Ò $§/¢/Ø—z‘z×(Ñ(Ó*ò *�Ø×'Ó'¨C¯H«HØ—H‘H—O‘O DÕ)ñ*ð #2r!   c               óZ   •— t         ‰| �  |«       |j                  j                  | «       y r#   )r)   Úvisit_type_alias_exprr=   r4   r+   s     €r   rA   z+MixedTraverserVisitor.visit_type_alias_exprE   s    ø€ Ü‰Ñ% aÔ(Ø	�‰�‰�dÕr!   c               óÔ   •— t         ‰| �  |«       |j                  j                  | «       |j                  j                  | «       |j
                  D ]  }|j                  | «       Œ y r#   )r)   Úvisit_type_var_exprÚupper_boundr4   Údefaultr;   )r   r,   Úvaluer-   s      €r   rC   z)MixedTraverserVisitor.visit_type_var_exprI   sS   ø€ Ü‰Ñ# AÔ&Ø	�‰×Ñ˜TÔ"Ø	�	‰	×Ñ˜ÔØ—X‘Xò 	ˆEØ�L‰L˜Õñ	r!   c               óZ   •— t         ‰| �  |«       | j                  |j                  «       y r#   )r)   Úvisit_typeddict_exprr1   r0   r+   s     €r   rH   z*MixedTraverserVisitor.visit_typeddict_exprP   s"   ø€ Ü‰Ñ$ QÔ'Ø×Ñ˜qŸv™vÕ&r!   c               óZ   •— t         ‰| �  |«       | j                  |j                  «       y r#   )r)   Úvisit_namedtuple_exprr1   r0   r+   s     €r   rJ   z+MixedTraverserVisitor.visit_namedtuple_exprT   s"   ø€ Ü‰Ñ% aÔ(Ø×Ñ˜qŸv™vÕ&r!   c               óZ   •— t         ‰| �  |«       |j                  j                  | «       y r#   )r)   Úvisit__promote_exprr%   r4   r+   s     €r   rL   z)MixedTraverserVisitor.visit__promote_exprX   s    ø€ Ü‰Ñ# AÔ&Ø	�‰�‰�dÕr!   c               ó¨   •— t         ‰| �  |«       |j                  r| j                  |j                  «       | j	                  |j
                  «       y r#   )r)   Úvisit_newtype_exprr0   r1   r$   Úold_typer+   s     €r   rN   z(MixedTraverserVisitor.visit_newtype_expr\   s;   ø€ Ü‰Ñ" 1Ô%Ø�6Š6Ø×"Ñ" 1§6¡6Ô*Ø× Ñ  §¡Õ,r!   c               óZ   •— t         ‰| �  |«       | j                  |j                  «       y r#   )r)   Úvisit_assignment_stmtr$   r%   r+   s     €r   rQ   z+MixedTraverserVisitor.visit_assignment_stmtd   s"   ø€ Ü‰Ñ% aÔ(Ø× Ñ  §¡Õ(r!   c               ót   •— t         ‰| �  |«       |j                  �|j                  j                  | «       y y r#   )r)   Úvisit_type_alias_stmtÚ
alias_noder4   r+   s     €r   rS   z+MixedTraverserVisitor.visit_type_alias_stmth   s1   ø€ Ü‰Ñ% aÔ(Ø�<‰<Ð#Ø�L‰L×Ñ Õ%ð $r!   c               óv   •— t         ‰| �  |«       d| _        |j                  j	                  | «       d| _        y )NTF)r)   Úvisit_type_aliasr   Útargetr4   r+   s     €r   rV   z&MixedTraverserVisitor.visit_type_aliasm   s0   ø€ Ü‰Ñ  Ô#Ø"&ˆÔØ	�‰�‰˜ÔØ"'ˆÕr!   c               óZ   •— t         ‰| �  |«       | j                  |j                  «       y r#   )r)   Úvisit_for_stmtr$   Ú
index_typer+   s     €r   rY   z$MixedTraverserVisitor.visit_for_stmts   s"   ø€ Ü‰Ñ˜qÔ!Ø× Ñ  §¡Õ.r!   c               óh   •— t         ‰| �  |«       |j                  D ]  }|j                  | «       Œ y r#   )r)   Úvisit_with_stmtÚanalyzed_typesr4   )r   r,   Útypr-   s      €r   r\   z%MixedTraverserVisitor.visit_with_stmtw   s1   ø€ Ü‰Ñ Ô"Ø×#Ñ#ò 	ˆCØ�J‰J�tÕñ	r!   c               óZ   •— t         ‰| �  |«       |j                  j                  | «       y r#   )r)   Úvisit_cast_exprr%   r4   r+   s     €r   r`   z%MixedTraverserVisitor.visit_cast_expr~   s    ø€ Ü‰Ñ Ô"Ø	�‰�‰�dÕr!   c               óZ   •— t         ‰| �  |«       |j                  j                  | «       y r#   )r)   Úvisit_type_form_exprr%   r4   r+   s     €r   rb   z*MixedTraverserVisitor.visit_type_form_expr‚   s    ø€ Ü‰Ñ$ QÔ'Ø	�‰�‰�dÕr!   c               óZ   •— t         ‰| �  |«       |j                  j                  | «       y r#   )r)   Úvisit_assert_type_exprr%   r4   r+   s     €r   rd   z,MixedTraverserVisitor.visit_assert_type_expr†   s    ø€ Ü‰Ñ& qÔ)Ø	�‰�‰�dÕr!   c               óh   •— t         ‰| �  |«       |j                  D ]  }|j                  | «       Œ y r#   )r)   Úvisit_type_applicationÚtypesr4   )r   r,   Útr-   s      €r   rf   z,MixedTraverserVisitor.visit_type_applicationŠ   s.   ø€ Ü‰Ñ& qÔ)Ø—‘ò 	ˆAØ�H‰H�T�Nñ	r!   c               ó,   — |r|j                  | «       y y r#   )r4   )r   rh   s     r   r$   z)MixedTraverserVisitor.visit_optional_type‘   s   € ÙØ�H‰H�T�Nð r!   )ÚreturnÚNone)r&   r   rj   rk   )r,   r	   rj   rk   )r,   r   rj   rk   )r0   r   rj   rk   )r,   r   rj   rk   )r,   r   rj   rk   )r,   r   rj   rk   )r,   r
   rj   rk   )r,   r   rj   rk   )r,   r   rj   rk   )r,   r   rj   rk   )r,   r   rj   rk   )r,   r   rj   rk   )r,   r   rj   rk   )r,   r   rj   rk   )r,   r   rj   rk   )r,   r   rj   rk   )r,   r   rj   rk   )r,   r   rj   rk   )rh   zType | Nonerj   rk   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r    r'   r*   r/   r1   rA   rC   rH   rJ   rL   rN   rQ   rS   rV   rY   r\   r`   rb   rd   rf   r$   Ú__classcell__)r-   s   @r   r   r      so   ø„ Ù<ó(ó
+õ)õ+ó
*õ(õõ'õ'õõ-õ)õ&õ
(õ/õõõõõ÷r!   r   N)Ú
__future__r   Ú
mypy.nodesr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   Úmypy.traverserr   Ú
mypy.typesr   Úmypy.typetraverserr   r   © r!   r   ú<module>rw      sC   ðÝ "÷÷ ÷ ÷ ÷ ñ õ* ,Ý Ý 3ôvÐ,Ð.Bõ vr!   