o
    ÕtBhæ  ã                   @  sŠ   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 d dlmZ d dlmZ d dlmZ G dd„ deeƒZdS )	é    )Úannotations)ÚAssertTypeExprÚAssignmentStmtÚCastExprÚClassDefÚForStmtÚFuncItemÚNamedTupleExprÚNewTypeExprÚPromoteExprÚTypeAliasExprÚTypeApplicationÚTypedDictExprÚTypeVarExprÚVarÚWithStmt)ÚTraverserVisitor)ÚType)ÚTypeTraverserVisitorc                      sì   e Zd ZdZd7dd„Zd8‡ fd
d„Zd9‡ fdd„Zd:‡ fdd„Zd;‡ fdd„Zd<‡ fdd„Z	d=‡ fdd„Z
d>‡ fdd„Zd?‡ fdd „Zd@‡ fd"d#„ZdA‡ fd%d&„ZdB‡ fd(d)„ZdC‡ fd+d,„ZdD‡ fd.d/„ZdE‡ fd1d2„ZdFd5d6„Z‡  ZS )GÚMixedTraverserVisitorz2Recursive traversal of both Node and Type objects.Úvarr   ÚreturnÚNonec                 C  s   |   |j¡ d S ©N)Úvisit_optional_typeÚtype)Úselfr   © r   új/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/mypy/mixedtraverser.pyÚ	visit_var   s   zMixedTraverserVisitor.visit_varÚor   c                   ó   t ƒ  |¡ |  |j¡ d S r   )ÚsuperÚ
visit_funcr   r   ©r   r    ©Ú	__class__r   r   r#   !   ó   z MixedTraverserVisitor.visit_funcr   c                   s4   t ƒ  |¡ |j}|r|jD ]	}| | ¡ qd S d S r   )r"   Úvisit_class_defÚinfoÚbasesÚaccept)r   r    r)   Úbaser%   r   r   r(   %   s   
þz%MixedTraverserVisitor.visit_class_defr   c                   ó   t ƒ  |¡ |j | ¡ d S r   )r"   Úvisit_type_alias_exprr   r+   r$   r%   r   r   r.   .   r'   z+MixedTraverserVisitor.visit_type_alias_exprr   c                   s2   t ƒ  |¡ |j | ¡ |jD ]}| | ¡ qd S r   )r"   Úvisit_type_var_exprÚupper_boundr+   Úvalues)r   r    Úvaluer%   r   r   r/   2   s
   
ÿz)MixedTraverserVisitor.visit_type_var_exprr   c                   s   t ƒ  |¡ |  |jj¡ d S r   )r"   Úvisit_typeddict_exprr   r)   Útypeddict_typer$   r%   r   r   r3   8   s   z*MixedTraverserVisitor.visit_typeddict_exprr	   c                   s*   t ƒ  |¡ |jjsJ ‚|jj | ¡ d S r   )r"   Úvisit_namedtuple_exprr)   Ú
tuple_typer+   r$   r%   r   r   r5   <   s   z+MixedTraverserVisitor.visit_namedtuple_exprr   c                   r-   r   )r"   Úvisit__promote_exprr   r+   r$   r%   r   r   r7   A   r'   z)MixedTraverserVisitor.visit__promote_exprr
   c                   r!   r   )r"   Úvisit_newtype_exprr   Úold_typer$   r%   r   r   r8   E   r'   z(MixedTraverserVisitor.visit_newtype_exprr   c                   r!   r   )r"   Úvisit_assignment_stmtr   r   r$   r%   r   r   r:   K   r'   z+MixedTraverserVisitor.visit_assignment_stmtr   c                   r!   r   )r"   Úvisit_for_stmtr   Ú
index_typer$   r%   r   r   r;   O   r'   z$MixedTraverserVisitor.visit_for_stmtr   c                   ó&   t ƒ  |¡ |jD ]}| | ¡ q	d S r   )r"   Úvisit_with_stmtÚanalyzed_typesr+   )r   r    Útypr%   r   r   r>   S   ó   
ÿz%MixedTraverserVisitor.visit_with_stmtr   c                   r-   r   )r"   Úvisit_cast_exprr   r+   r$   r%   r   r   rB   Z   r'   z%MixedTraverserVisitor.visit_cast_exprr   c                   r-   r   )r"   Úvisit_assert_type_exprr   r+   r$   r%   r   r   rC   ^   r'   z,MixedTraverserVisitor.visit_assert_type_exprr   c                   r=   r   )r"   Úvisit_type_applicationÚtypesr+   )r   r    Útr%   r   r   rD   b   rA   z,MixedTraverserVisitor.visit_type_applicationrF   úType | Nonec                 C  s   |r	|  | ¡ d S d S r   )r+   )r   rF   r   r   r   r   i   s   ÿz)MixedTraverserVisitor.visit_optional_type)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   )rF   rG   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r#   r(   r.   r/   r3   r5   r7   r8   r:   r;   r>   rB   rC   rD   r   Ú__classcell__r   r   r%   r   r      s$    
	r   N)Ú
__future__r   Ú
mypy.nodesr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   Úmypy.traverserr   Ú
mypy.typesr   Úmypy.typetraverserr   r   r   r   r   r   Ú<module>   s    D