
    X-Ph                        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 d dlmZ d dlmZ d dlmZ  G d dee          ZdS )	    )annotations)AssertTypeExprAssignmentStmtCastExprClassDefForStmtFuncItemNamedTupleExprNewTypeExprPromoteExpr	TypeAliasTypeAliasExprTypeAliasStmtTypeApplicationTypedDictExpr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d0 fdZd1 fdZ	d2 fdZ
d3 fdZd4 fdZd5 fdZd6 fdZd7 fdZd8 fdZd9 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.returnNonec                    d| _         d S )NF)in_type_alias_expr)selfs    S/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mypy/mixedtraverser.py__init__zMixedTraverserVisitor.__init__   s    "'    varr   c               :    |                      |j                   d S N)visit_optional_typetype)r   r"   s     r   	visit_varzMixedTraverserVisitor.visit_var#   s      *****r!   or	   c               ~    t                                          |           |                     |j                   d S r$   )super
visit_funcr%   r&   r   r(   	__class__s     r   r+   z MixedTraverserVisitor.visit_func&   s7    1  (((((r!   r   c                   t                                          |           |j        }|r|j        D ]}|                    |            d S d S r$   )r*   visit_class_definfobasesaccept)r   r(   r0   baser-   s       r   r/   z%MixedTraverserVisitor.visit_class_def*   sf     	"""v 	"
 " "D!!!!	" 	"" "r!   r   c               ~    t                                          |           |j                            |            d S r$   )r*   visit_type_alias_exprnoder2   r,   s     r   r5   z+MixedTraverserVisitor.visit_type_alias_expr3   s5    %%a(((	dr!   r   c                   t                                          |           |j                            |            |j        D ]}|                    |            d S r$   )r*   visit_type_var_exprupper_boundr2   values)r   r(   valuer-   s      r   r8   z)MixedTraverserVisitor.visit_type_var_expr7   sa    ##A&&&	T"""X 	 	ELL	 	r!   r   c                   t                                          |           |                     |j        j                   d S r$   )r*   visit_typeddict_exprr%   r0   typeddict_typer,   s     r   r=   z*MixedTraverserVisitor.visit_typeddict_expr=   s:    $$Q'''  !677777r!   r
   c                   t                                          |           |j        j        sJ |j        j                            |            d S r$   )r*   visit_namedtuple_exprr0   
tuple_typer2   r,   s     r   r@   z+MixedTraverserVisitor.visit_namedtuple_exprA   sK    %%a(((v    	  &&&&&r!   r   c               ~    t                                          |           |j                            |            d S r$   )r*   visit__promote_exprr&   r2   r,   s     r   rC   z)MixedTraverserVisitor.visit__promote_exprF   s5    ##A&&&	dr!   r   c               ~    t                                          |           |                     |j                   d S r$   )r*   visit_newtype_exprr%   old_typer,   s     r   rE   z(MixedTraverserVisitor.visit_newtype_exprJ   s7    ""1%%%  ,,,,,r!   r   c               ~    t                                          |           |                     |j                   d S r$   )r*   visit_assignment_stmtr%   r&   r,   s     r   rH   z+MixedTraverserVisitor.visit_assignment_stmtP   s7    %%a(((  (((((r!   r   c                   t                                          |           |j        |j                            |            d S d S r$   )r*   visit_type_alias_stmt
alias_noder2   r,   s     r   rJ   z+MixedTraverserVisitor.visit_type_alias_stmtT   sG    %%a(((<#L%%%%% $#r!   r   c                   t                                          |           d| _        |j                            |            d| _        d S )NTF)r*   visit_type_aliasr   targetr2   r,   s     r   rM   z&MixedTraverserVisitor.visit_type_aliasY   sE      ###"&	"'r!   r   c               ~    t                                          |           |                     |j                   d S r$   )r*   visit_for_stmtr%   
index_typer,   s     r   rP   z$MixedTraverserVisitor.visit_for_stmt_   s7    q!!!  .....r!   r   c                   t                                          |           |j        D ]}|                    |            d S r$   )r*   visit_with_stmtanalyzed_typesr2   )r   r(   typr-   s      r   rS   z%MixedTraverserVisitor.visit_with_stmtc   sL    """# 	 	CJJt	 	r!   r   c               ~    t                                          |           |j                            |            d S r$   )r*   visit_cast_exprr&   r2   r,   s     r   rW   z%MixedTraverserVisitor.visit_cast_exprj   s5    """	dr!   r   c               ~    t                                          |           |j                            |            d S r$   )r*   visit_assert_type_exprr&   r2   r,   s     r   rY   z,MixedTraverserVisitor.visit_assert_type_exprn   s5    &&q)))	dr!   r   c                   t                                          |           |j        D ]}|                    |            d S r$   )r*   visit_type_applicationtypesr2   )r   r(   tr-   s      r   r[   z,MixedTraverserVisitor.visit_type_applicationr   sG    &&q))) 	 	AHHTNNNN	 	r!   r]   Type | Nonec               8    |r|                     |            d S d S r$   )r2   )r   r]   s     r   r%   z)MixedTraverserVisitor.visit_optional_typey   s'     	HHTNNNNN	 	r!   )r   r   )r"   r   r   r   )r(   r	   r   r   )r(   r   r   r   )r(   r   r   r   )r(   r   r   r   )r(   r   r   r   )r(   r
   r   r   )r(   r   r   r   )r(   r   r   r   )r(   r   r   r   )r(   r   r   r   )r(   r   r   r   )r(   r   r   r   )r(   r   r   r   )r(   r   r   r   )r(   r   r   r   )r(   r   r   r   )r]   r^   r   r   )__name__
__module____qualname____doc__r    r'   r+   r/   r5   r8   r=   r@   rC   rE   rH   rJ   rM   rP   rS   rW   rY   r[   r%   __classcell__)r-   s   @r   r   r      sA       <<( ( ( (
+ + + +) ) ) ) ) )" " " " " "          8 8 8 8 8 8' ' ' ' ' '
     - - - - - -) ) ) ) ) )& & & & & &
( ( ( ( ( (/ / / / / /                           r!   r   N)
__future__r   
mypy.nodesr   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>rk      sO   " " " " " "                                     & , + + + + +       3 3 3 3 3 3` ` ` ` `,.B ` ` ` ` `r!   