
    *e
>                    
   d Z ddlmZ ddlmZ ddlmZmZmZ ddl	m
Z
mZ erddlZddlZ ed          Ze e
d	           G d
 dee                                           Ze e
d	           G d dee                                           Ze e
d	           G d dee                                           Ze e
d	           G d dee         ee         ee         ee                                           ZdS )z)Generic abstract syntax tree node visitor    )annotations)abstractmethod)TYPE_CHECKINGGenericTypeVar)
mypyc_attrtraitNTT)allow_interpreted_subclassesc                  .   e Zd Zed]d            Zed^d            Zed_d	            Zed`d            Zedad            Zedbd            Z	edcd            Z
eddd            Zeded            Zedfd            Zedgd            Zedhd            Zedid            Zedjd            Zedkd!            Zedld#            Zedmd%            Zednd'            Zedod)            Zedpd+            Zedqd-            Zedrd/            Zedsd1            Zedtd3            Zedud5            Zedvd7            Zedwd9            Zedxd;            Zedyd=            Z edzd?            Z!ed{dA            Z"ed|dC            Z#ed}dE            Z$ed~dG            Z%eddI            Z&eddK            Z'eddM            Z(eddO            Z)eddQ            Z*eddS            Z+eddU            Z,eddW            Z-eddY            Z.edd[            Z/d\S )ExpressionVisitoromypy.nodes.IntExprreturnr
   c                    d S N selfr   s     ,lib/python3.11/site-packages/mypy/visitor.pyvisit_int_exprz ExpressionVisitor.visit_int_expr           mypy.nodes.StrExprc                    d S r   r   r   s     r   visit_str_exprz ExpressionVisitor.visit_str_expr   r   r   mypy.nodes.BytesExprc                    d S r   r   r   s     r   visit_bytes_exprz"ExpressionVisitor.visit_bytes_expr   r   r   mypy.nodes.FloatExprc                    d S r   r   r   s     r   visit_float_exprz"ExpressionVisitor.visit_float_expr"   r   r   mypy.nodes.ComplexExprc                    d S r   r   r   s     r   visit_complex_exprz$ExpressionVisitor.visit_complex_expr&   r   r   mypy.nodes.EllipsisExprc                    d S r   r   r   s     r   visit_ellipsisz ExpressionVisitor.visit_ellipsis*   r   r   mypy.nodes.StarExprc                    d S r   r   r   s     r   visit_star_exprz!ExpressionVisitor.visit_star_expr.   r   r   mypy.nodes.NameExprc                    d S r   r   r   s     r   visit_name_exprz!ExpressionVisitor.visit_name_expr2   r   r   mypy.nodes.MemberExprc                    d S r   r   r   s     r   visit_member_exprz#ExpressionVisitor.visit_member_expr6   r   r   mypy.nodes.YieldFromExprc                    d S r   r   r   s     r   visit_yield_from_exprz'ExpressionVisitor.visit_yield_from_expr:   r   r   mypy.nodes.YieldExprc                    d S r   r   r   s     r   visit_yield_exprz"ExpressionVisitor.visit_yield_expr>   r   r   mypy.nodes.CallExprc                    d S r   r   r   s     r   visit_call_exprz!ExpressionVisitor.visit_call_exprB   r   r   mypy.nodes.OpExprc                    d S r   r   r   s     r   visit_op_exprzExpressionVisitor.visit_op_exprF   r   r   mypy.nodes.ComparisonExprc                    d S r   r   r   s     r   visit_comparison_exprz'ExpressionVisitor.visit_comparison_exprJ   r   r   mypy.nodes.CastExprc                    d S r   r   r   s     r   visit_cast_exprz!ExpressionVisitor.visit_cast_exprN   r   r   mypy.nodes.AssertTypeExprc                    d S r   r   r   s     r   visit_assert_type_exprz(ExpressionVisitor.visit_assert_type_exprR   r   r   mypy.nodes.RevealExprc                    d S r   r   r   s     r   visit_reveal_exprz#ExpressionVisitor.visit_reveal_exprV   r   r   mypy.nodes.SuperExprc                    d S r   r   r   s     r   visit_super_exprz"ExpressionVisitor.visit_super_exprZ   r   r   mypy.nodes.UnaryExprc                    d S r   r   r   s     r   visit_unary_exprz"ExpressionVisitor.visit_unary_expr^   r   r   mypy.nodes.AssignmentExprc                    d S r   r   r   s     r   visit_assignment_exprz'ExpressionVisitor.visit_assignment_exprb   r   r   mypy.nodes.ListExprc                    d S r   r   r   s     r   visit_list_exprz!ExpressionVisitor.visit_list_exprf   r   r   mypy.nodes.DictExprc                    d S r   r   r   s     r   visit_dict_exprz!ExpressionVisitor.visit_dict_exprj   r   r   mypy.nodes.TupleExprc                    d S r   r   r   s     r   visit_tuple_exprz"ExpressionVisitor.visit_tuple_exprn   r   r   mypy.nodes.SetExprc                    d S r   r   r   s     r   visit_set_exprz ExpressionVisitor.visit_set_exprr   r   r   mypy.nodes.IndexExprc                    d S r   r   r   s     r   visit_index_exprz"ExpressionVisitor.visit_index_exprv   r   r   mypy.nodes.TypeApplicationc                    d S r   r   r   s     r   visit_type_applicationz(ExpressionVisitor.visit_type_applicationz   r   r   mypy.nodes.LambdaExprc                    d S r   r   r   s     r   visit_lambda_exprz#ExpressionVisitor.visit_lambda_expr~   r   r   mypy.nodes.ListComprehensionc                    d S r   r   r   s     r   visit_list_comprehensionz*ExpressionVisitor.visit_list_comprehension   r   r   mypy.nodes.SetComprehensionc                    d S r   r   r   s     r   visit_set_comprehensionz)ExpressionVisitor.visit_set_comprehension   r   r   "mypy.nodes.DictionaryComprehensionc                    d S r   r   r   s     r   visit_dictionary_comprehensionz0ExpressionVisitor.visit_dictionary_comprehension   r   r   mypy.nodes.GeneratorExprc                    d S r   r   r   s     r   visit_generator_exprz&ExpressionVisitor.visit_generator_expr   r   r   mypy.nodes.SliceExprc                    d S r   r   r   s     r   visit_slice_exprz"ExpressionVisitor.visit_slice_expr   r   r   mypy.nodes.ConditionalExprc                    d S r   r   r   s     r   visit_conditional_exprz(ExpressionVisitor.visit_conditional_expr   r   r   mypy.nodes.TypeVarExprc                    d S r   r   r   s     r   visit_type_var_exprz%ExpressionVisitor.visit_type_var_expr   r   r   mypy.nodes.ParamSpecExprc                    d S r   r   r   s     r   visit_paramspec_exprz&ExpressionVisitor.visit_paramspec_expr   r   r   mypy.nodes.TypeVarTupleExprc                    d S r   r   r   s     r   visit_type_var_tuple_exprz+ExpressionVisitor.visit_type_var_tuple_expr   r   r   mypy.nodes.TypeAliasExprc                    d S r   r   r   s     r   visit_type_alias_exprz'ExpressionVisitor.visit_type_alias_expr   r   r   mypy.nodes.NamedTupleExprc                    d S r   r   r   s     r   visit_namedtuple_exprz'ExpressionVisitor.visit_namedtuple_expr   r   r   mypy.nodes.EnumCallExprc                    d S r   r   r   s     r   visit_enum_call_exprz&ExpressionVisitor.visit_enum_call_expr   r   r   mypy.nodes.TypedDictExprc                    d S r   r   r   s     r   visit_typeddict_exprz&ExpressionVisitor.visit_typeddict_expr   r   r   mypy.nodes.NewTypeExprc                    d S r   r   r   s     r   visit_newtype_exprz$ExpressionVisitor.visit_newtype_expr   r   r   mypy.nodes.PromoteExprc                    d S r   r   r   s     r   visit__promote_exprz%ExpressionVisitor.visit__promote_expr   r   r   mypy.nodes.AwaitExprc                    d S r   r   r   s     r   visit_await_exprz"ExpressionVisitor.visit_await_expr   r   r   mypy.nodes.TempNodec                    d S r   r   r   s     r   visit_temp_nodez!ExpressionVisitor.visit_temp_node   r   r   N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   r2   r   r
   r   r5   r   r
   r   r8   r   r
   r   r;   r   r
   r   r>   r   r
   r   rA   r   r
   r   rD   r   r
   r   rG   r   r
   r   rJ   r   r
   r   rM   r   r
   r   rP   r   r
   r   rS   r   r
   r   rV   r   r
   r   rY   r   r
   r   r\   r   r
   r   r_   r   r
   r   rb   r   r
   r   re   r   r
   r   rh   r   r
   r   rk   r   r
   r   rn   r   r
   r   rq   r   r
   r   rt   r   r
   r   rw   r   r
   r   rz   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
   )0__name__
__module____qualname__r   r   r   r   r"   r%   r(   r+   r.   r1   r4   r7   r:   r=   r@   rC   rF   rI   rL   rO   rR   rU   rX   r[   r^   ra   rd   rg   rj   rm   rp   rs   rv   ry   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s           ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^  r   r   c                  ~   e Zd Zed9d            Zed:d            Zed;d	            Zed<d            Zed=d            Zed>d            Z	ed?d            Z
ed@d            ZedAd            ZedBd            ZedCd            ZedDd            ZedEd            ZedFd            ZedGd!            ZedHd#            ZedId%            ZedJd'            ZedKd)            ZedLd+            ZedMd-            ZedNd/            ZedOd1            ZedPd3            ZedQd5            ZedRd7            Zd8S )SStatementVisitorr   mypy.nodes.AssignmentStmtr   r
   c                    d S r   r   r   s     r   visit_assignment_stmtz&StatementVisitor.visit_assignment_stmt   r   r   mypy.nodes.ForStmtc                    d S r   r   r   s     r   visit_for_stmtzStatementVisitor.visit_for_stmt   r   r   mypy.nodes.WithStmtc                    d S r   r   r   s     r   visit_with_stmtz StatementVisitor.visit_with_stmt   r   r   mypy.nodes.DelStmtc                    d S r   r   r   s     r   visit_del_stmtzStatementVisitor.visit_del_stmt   r   r   mypy.nodes.FuncDefc                    d S r   r   r   s     r   visit_func_defzStatementVisitor.visit_func_def   r   r   mypy.nodes.OverloadedFuncDefc                    d S r   r   r   s     r   visit_overloaded_func_defz*StatementVisitor.visit_overloaded_func_def   r   r   mypy.nodes.ClassDefc                    d S r   r   r   s     r   visit_class_defz StatementVisitor.visit_class_def   r   r   mypy.nodes.GlobalDeclc                    d S r   r   r   s     r   visit_global_declz"StatementVisitor.visit_global_decl   r   r   mypy.nodes.NonlocalDeclc                    d S r   r   r   s     r   visit_nonlocal_declz$StatementVisitor.visit_nonlocal_decl   r   r   mypy.nodes.Decoratorc                    d S r   r   r   s     r   visit_decoratorz StatementVisitor.visit_decorator   r   r   mypy.nodes.Importc                    d S r   r   r   s     r   visit_importzStatementVisitor.visit_import   r   r   mypy.nodes.ImportFromc                    d S r   r   r   s     r   visit_import_fromz"StatementVisitor.visit_import_from   r   r   mypy.nodes.ImportAllc                    d S r   r   r   s     r   visit_import_allz!StatementVisitor.visit_import_all   r   r   mypy.nodes.Blockc                    d S r   r   r   s     r   visit_blockzStatementVisitor.visit_block  r   r   mypy.nodes.ExpressionStmtc                    d S r   r   r   s     r   visit_expression_stmtz&StatementVisitor.visit_expression_stmt  r   r   !mypy.nodes.OperatorAssignmentStmtc                    d S r   r   r   s     r   visit_operator_assignment_stmtz/StatementVisitor.visit_operator_assignment_stmt  r   r   mypy.nodes.WhileStmtc                    d S r   r   r   s     r   visit_while_stmtz!StatementVisitor.visit_while_stmt  r   r   mypy.nodes.ReturnStmtc                    d S r   r   r   s     r   visit_return_stmtz"StatementVisitor.visit_return_stmt  r   r   mypy.nodes.AssertStmtc                    d S r   r   r   s     r   visit_assert_stmtz"StatementVisitor.visit_assert_stmt  r   r   mypy.nodes.IfStmtc                    d S r   r   r   s     r   visit_if_stmtzStatementVisitor.visit_if_stmt  r   r   mypy.nodes.BreakStmtc                    d S r   r   r   s     r   visit_break_stmtz!StatementVisitor.visit_break_stmt   r   r   mypy.nodes.ContinueStmtc                    d S r   r   r   s     r   visit_continue_stmtz$StatementVisitor.visit_continue_stmt$  r   r   mypy.nodes.PassStmtc                    d S r   r   r   s     r   visit_pass_stmtz StatementVisitor.visit_pass_stmt(  r   r   mypy.nodes.RaiseStmtc                    d S r   r   r   s     r   visit_raise_stmtz!StatementVisitor.visit_raise_stmt,  r   r   mypy.nodes.TryStmtc                    d S r   r   r   s     r   visit_try_stmtzStatementVisitor.visit_try_stmt0  r   r   mypy.nodes.MatchStmtc                    d S r   r   r   s     r   visit_match_stmtz!StatementVisitor.visit_match_stmt4  r   r   N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   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      sT       
    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^
    ^    ^    ^
    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^  r   r   c                      e Zd Zedd            Zedd            Zedd	            Zedd            Zedd            Zedd            Z	edd            Z
edd            ZdS )PatternVisitorr   mypy.patterns.AsPatternr   r
   c                    d S r   r   r   s     r   visit_as_patternzPatternVisitor.visit_as_pattern<  r   r   mypy.patterns.OrPatternc                    d S r   r   r   s     r   visit_or_patternzPatternVisitor.visit_or_pattern@  r   r   mypy.patterns.ValuePatternc                    d S r   r   r   s     r   visit_value_patternz"PatternVisitor.visit_value_patternD  r   r   mypy.patterns.SingletonPatternc                    d S r   r   r   s     r   visit_singleton_patternz&PatternVisitor.visit_singleton_patternH  r   r   mypy.patterns.SequencePatternc                    d S r   r   r   s     r   visit_sequence_patternz%PatternVisitor.visit_sequence_patternL  r   r   mypy.patterns.StarredPatternc                    d S r   r   r   s     r   visit_starred_patternz$PatternVisitor.visit_starred_patternP  r   r   mypy.patterns.MappingPatternc                    d S r   r   r   s     r   visit_mapping_patternz$PatternVisitor.visit_mapping_patternT  r   r   mypy.patterns.ClassPatternc                    d S r   r   r   s     r   visit_class_patternz"PatternVisitor.visit_class_patternX  r   r   Nr   r6  r   r
   r   r9  r   r
   r   r<  r   r
   r   r?  r   r
   r   rB  r   r
   r   rE  r   r
   r   rH  r   r
   r   rK  r   r
   )r   r   r   r   r8  r;  r>  rA  rD  rG  rJ  rM  r   r   r   r5  r5  9  s           ^    ^    ^    ^    ^    ^    ^    ^  r   r5  c                     e Zd ZdZddZddZdd
ZddZddZddZ	ddZ
ddZddZddZddZddZddZdd Zdd"Zdd$Zdd&Zdd(Zdd*Zdd,Zdd.Zdd0Zdd2Zdd4Zdd6Zdd8Zdd:Zdd<Zdd>Z dd@Z!ddBZ"ddDZ#ddFZ$ddHZ%ddJZ&ddLZ'ddNZ(ddPZ)ddRZ*ddTZ+ddVZ,ddXZ-ddZZ.dd\Z/dd^Z0dd`Z1ddbZ2dddZ3ddfZ4ddhZ5ddjZ6ddlZ7ddnZ8ddpZ9ddrZ:ddtZ;ddvZ<ddxZ=ddzZ>dd|Z?dd~Z@ddZAddZBddZCddZDddZEddZFddZGddZHddZIddZJddZKddZLddZMddZNddZOddZPddZQddZRddZSddZTddZUdS )NodeVisitorai  Empty base class for parse tree node visitors.

    The T type argument specifies the return type of the visit
    methods. As all methods defined here return None by default,
    subclasses do not always need to override all the methods.

    TODO: make the default return value explicit, then turn on
          empty body checking in mypy_self_check.ini.
    r   mypy.nodes.MypyFiler   r
   c                    d S r   r   r   s     r   visit_mypy_filezNodeVisitor.visit_mypy_filel      r   mypy.nodes.Varc                    d S r   r   r   s     r   	visit_varzNodeVisitor.visit_varr  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_importw  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_import_fromz  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_import_all}  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_func_def  r[  r   r   c                    d S r   r   r   s     r   r   z%NodeVisitor.visit_overloaded_func_def  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_class_def  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_global_decl  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_nonlocal_decl  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_decorator  r[  r   mypy.nodes.TypeAliasc                    d S r   r   r   s     r   visit_type_aliaszNodeVisitor.visit_type_alias  r[  r   mypy.nodes.PlaceholderNodec                    d S r   r   r   s     r   visit_placeholder_nodez"NodeVisitor.visit_placeholder_node  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_block  r[  r   r   c                    d S r   r   r   s     r   r   z!NodeVisitor.visit_expression_stmt  r[  r   r   c                    d S r   r   r   s     r   r   z!NodeVisitor.visit_assignment_stmt  r[  r   r   c                    d S r   r   r   s     r   r   z*NodeVisitor.visit_operator_assignment_stmt  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_while_stmt  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_for_stmt  r[  r   r   c                    d S r   r   r   s     r   r  zNodeVisitor.visit_return_stmt  r[  r   r  c                    d S r   r   r   s     r   r  zNodeVisitor.visit_assert_stmt  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_del_stmt  r[  r   r  c                    d S r   r   r   s     r   r  zNodeVisitor.visit_if_stmt  r[  r   r  c                    d S r   r   r   s     r   r
  zNodeVisitor.visit_break_stmt  r[  r   r  c                    d S r   r   r   s     r   r  zNodeVisitor.visit_continue_stmt  r[  r   r  c                    d S r   r   r   s     r   r  zNodeVisitor.visit_pass_stmt  r[  r   r  c                    d S r   r   r   s     r   r  zNodeVisitor.visit_raise_stmt  r[  r   r  c                    d S r   r   r   s     r   r  zNodeVisitor.visit_try_stmt  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_with_stmt  r[  r   r  c                    d S r   r   r   s     r   r  zNodeVisitor.visit_match_stmt  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_int_expr  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_str_expr  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_bytes_expr  r[  r   r    c                    d S r   r   r   s     r   r"   zNodeVisitor.visit_float_expr  r[  r   r#   c                    d S r   r   r   s     r   r%   zNodeVisitor.visit_complex_expr  r[  r   r&   c                    d S r   r   r   s     r   r(   zNodeVisitor.visit_ellipsis  r[  r   r)   c                    d S r   r   r   s     r   r+   zNodeVisitor.visit_star_expr  r[  r   r,   c                    d S r   r   r   s     r   r.   zNodeVisitor.visit_name_expr  r[  r   r/   c                    d S r   r   r   s     r   r1   zNodeVisitor.visit_member_expr  r[  r   r2   c                    d S r   r   r   s     r   r4   z!NodeVisitor.visit_yield_from_expr  r[  r   r5   c                    d S r   r   r   s     r   r7   zNodeVisitor.visit_yield_expr  r[  r   r8   c                    d S r   r   r   s     r   r:   zNodeVisitor.visit_call_expr  r[  r   r;   c                    d S r   r   r   s     r   r=   zNodeVisitor.visit_op_expr  r[  r   r>   c                    d S r   r   r   s     r   r@   z!NodeVisitor.visit_comparison_expr  r[  r   rA   c                    d S r   r   r   s     r   rC   zNodeVisitor.visit_cast_expr  r[  r   rD   c                    d S r   r   r   s     r   rF   z"NodeVisitor.visit_assert_type_expr  r[  r   rG   c                    d S r   r   r   s     r   rI   zNodeVisitor.visit_reveal_expr  r[  r   rJ   c                    d S r   r   r   s     r   rL   zNodeVisitor.visit_super_expr  r[  r   rP   c                    d S r   r   r   s     r   rR   z!NodeVisitor.visit_assignment_expr  r[  r   rM   c                    d S r   r   r   s     r   rO   zNodeVisitor.visit_unary_expr
  r[  r   rS   c                    d S r   r   r   s     r   rU   zNodeVisitor.visit_list_expr  r[  r   rV   c                    d S r   r   r   s     r   rX   zNodeVisitor.visit_dict_expr  r[  r   rY   c                    d S r   r   r   s     r   r[   zNodeVisitor.visit_tuple_expr  r[  r   r\   c                    d S r   r   r   s     r   r^   zNodeVisitor.visit_set_expr  r[  r   r_   c                    d S r   r   r   s     r   ra   zNodeVisitor.visit_index_expr  r[  r   rb   c                    d S r   r   r   s     r   rd   z"NodeVisitor.visit_type_application  r[  r   re   c                    d S r   r   r   s     r   rg   zNodeVisitor.visit_lambda_expr  r[  r   rh   c                    d S r   r   r   s     r   rj   z$NodeVisitor.visit_list_comprehension"  r[  r   rk   c                    d S r   r   r   s     r   rm   z#NodeVisitor.visit_set_comprehension%  r[  r   rn   c                    d S r   r   r   s     r   rp   z*NodeVisitor.visit_dictionary_comprehension(  r[  r   rq   c                    d S r   r   r   s     r   rs   z NodeVisitor.visit_generator_expr+  r[  r   rt   c                    d S r   r   r   s     r   rv   zNodeVisitor.visit_slice_expr.  r[  r   rw   c                    d S r   r   r   s     r   ry   z"NodeVisitor.visit_conditional_expr1  r[  r   rz   c                    d S r   r   r   s     r   r|   zNodeVisitor.visit_type_var_expr4  r[  r   r}   c                    d S r   r   r   s     r   r   z NodeVisitor.visit_paramspec_expr7  r[  r   r   c                    d S r   r   r   s     r   r   z%NodeVisitor.visit_type_var_tuple_expr:  r[  r   r   c                    d S r   r   r   s     r   r   z!NodeVisitor.visit_type_alias_expr=  r[  r   r   c                    d S r   r   r   s     r   r   z!NodeVisitor.visit_namedtuple_expr@  r[  r   r   c                    d S r   r   r   s     r   r   z NodeVisitor.visit_enum_call_exprC  r[  r   r   c                    d S r   r   r   s     r   r   z NodeVisitor.visit_typeddict_exprF  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_newtype_exprI  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit__promote_exprL  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_await_exprO  r[  r   r   c                    d S r   r   r   s     r   r   zNodeVisitor.visit_temp_nodeR  r[  r   r6  c                    d S r   r   r   s     r   r8  zNodeVisitor.visit_as_patternW  r[  r   r9  c                    d S r   r   r   s     r   r;  zNodeVisitor.visit_or_patternZ  r[  r   r<  c                    d S r   r   r   s     r   r>  zNodeVisitor.visit_value_pattern]  r[  r   r?  c                    d S r   r   r   s     r   rA  z#NodeVisitor.visit_singleton_pattern`  r[  r   rB  c                    d S r   r   r   s     r   rD  z"NodeVisitor.visit_sequence_patternc  r[  r   rE  c                    d S r   r   r   s     r   rG  z!NodeVisitor.visit_starred_patternf  r[  r   rH  c                    d S r   r   r   s     r   rJ  z!NodeVisitor.visit_mapping_patterni  r[  r   rK  c                    d S r   r   r   s     r   rM  zNodeVisitor.visit_class_patternl  r[  r   N)r   rX  r   r
   )r   r\  r   r
   r$  r%  r&  r  r  r   r!  r"  r#  )r   rh  r   r
   )r   rk  r   r
   r'  r(  r  r)  r*  r  r+  r,  r  r-  r.  r/  r0  r1  r2  r  r3  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   rN  rO  rP  rQ  rR  rS  rT  rU  )Vr   r   r   __doc__rZ  r^  r   r   r   r   r   r   r   r   r   rj  rm  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.   r1   r4   r7   r:   r=   r@   rC   rF   rI   rL   rR   rO   rU   rX   r[   r^   ra   rd   rg   rj   rm   rp   rs   rv   ry   r|   r   r   r   r   r   r   r   r   r   r   r8  r;  r>  rA  rD  rG  rJ  rM  r   r   r   rW  rW  ]  s              
         
                        
                                                   
                                                                                                                                    
                          r   rW  )r  
__future__r   abcr   typingr   r   r   mypy_extensionsr   r	   
mypy.nodesmypymypy.patternsr
   r   r   r5  rW  r   r   r   <module>r     s   / / " " " " " "       2 2 2 2 2 2 2 2 2 2 - - - - - - - -  GCLL ...o o o o o
 o o /. od ...m m m m mwqz m m /. m` ...    WQZ   /. D ...N N N N N'!*/24DQ4GXYIZ N N /. N N Nr   