
    iv                        d 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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#          Z%dS )z'Find all subexpressions of an AST node.    )annotations)AssertTypeExprAssignmentExpr	AwaitExprCallExprCastExprComparisonExprConditionalExprDictExprDictionaryComprehension
ExpressionGeneratorExpr	IndexExpr
LambdaExprListComprehensionListExpr
MemberExprNodeOpExpr
RevealExprSetComprehensionSetExpr	SliceExprStarExprTemplateStrExpr	TupleExprTypeApplicationTypeFormExpr	UnaryExpr	YieldExprYieldFromExpr)TraverserVisitornoder   returnlist[Expression]c                V    t                      }|                     |           |j        S N)SubexpressionFinderacceptexpressions)r#   visitors     R/root/projects/qq-shell/venv/lib64/python3.11/site-packages/mypy/server/subexpr.pyget_subexpressionsr-   (   s(    !##GKK    c                      e Zd ZdOdZdPdZdPdZdPdZdPd	ZdPd
ZdPdZ	dPdZ
dPdZdPdZdPdZdPdZdPdZdPdZdPdZdPdZdQ fdZdR fdZdS fdZdT fdZdU fdZdV fd!ZdW fd#ZdX fd%ZdY fd'ZdZ fd)Zd[ fd+Zd\ fd-Zd] fd/Zd^ fd1Z d_ fd3Z!d` fd5Z"da fd7Z#db fd9Z$dc fd;Z%dd fd=Z&de fd?Z'df fdAZ(dg fdCZ)dh fdEZ*di fdGZ+dj fdIZ,dk fdKZ-dl fdMZ.dmdNZ/ xZ0S )nr(   r$   Nonec                    g | _         d S r'   )r*   )selfs    r,   __init__zSubexpressionFinder.__init__/   s    -/r.   or   c                0    |                      |           d S r'   addr2   r4   s     r,   visit_int_exprz"SubexpressionFinder.visit_int_expr2       r.   c                0    |                      |           d S r'   r6   r8   s     r,   visit_name_exprz#SubexpressionFinder.visit_name_expr5   r:   r.   c                0    |                      |           d S r'   r6   r8   s     r,   visit_float_exprz$SubexpressionFinder.visit_float_expr8   r:   r.   c                0    |                      |           d S r'   r6   r8   s     r,   visit_str_exprz"SubexpressionFinder.visit_str_expr;   r:   r.   c                0    |                      |           d S r'   r6   r8   s     r,   visit_bytes_exprz$SubexpressionFinder.visit_bytes_expr>   r:   r.   c                0    |                      |           d S r'   r6   r8   s     r,   visit_unicode_exprz&SubexpressionFinder.visit_unicode_exprA   r:   r.   c                0    |                      |           d S r'   r6   r8   s     r,   visit_complex_exprz&SubexpressionFinder.visit_complex_exprD   r:   r.   c                0    |                      |           d S r'   r6   r8   s     r,   visit_ellipsisz"SubexpressionFinder.visit_ellipsisG   r:   r.   c                0    |                      |           d S r'   r6   r8   s     r,   visit_super_exprz$SubexpressionFinder.visit_super_exprJ   r:   r.   c                0    |                      |           d S r'   r6   r8   s     r,   visit_type_var_exprz'SubexpressionFinder.visit_type_var_exprM   r:   r.   c                0    |                      |           d S r'   r6   r8   s     r,   visit_type_alias_exprz)SubexpressionFinder.visit_type_alias_exprP   r:   r.   c                0    |                      |           d S r'   r6   r8   s     r,   visit_namedtuple_exprz)SubexpressionFinder.visit_namedtuple_exprS   r:   r.   c                0    |                      |           d S r'   r6   r8   s     r,   visit_typeddict_exprz(SubexpressionFinder.visit_typeddict_exprV   r:   r.   c                0    |                      |           d S r'   r6   r8   s     r,   visit__promote_exprz'SubexpressionFinder.visit__promote_exprY   r:   r.   c                0    |                      |           d S r'   r6   r8   s     r,   visit_newtype_exprz&SubexpressionFinder.visit_newtype_expr\   r:   r.   er   c                t    |                      |           t                                          |           d S r'   )r7   supervisit_member_exprr2   rW   	__class__s     r,   rZ   z%SubexpressionFinder.visit_member_expr_   0    !!!$$$$$r.   r!   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_yield_from_exprr[   s     r,   r_   z)SubexpressionFinder.visit_yield_from_exprc   0    %%a(((((r.   r    c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_yield_exprr[   s     r,   rb   z$SubexpressionFinder.visit_yield_exprg   0      #####r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_call_exprr[   s     r,   re   z#SubexpressionFinder.visit_call_exprk   0    """""r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_op_exprr[   s     r,   rh   z!SubexpressionFinder.visit_op_expro   s0    a     r.   r	   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_comparison_exprr[   s     r,   rj   z)SubexpressionFinder.visit_comparison_exprs   r`   r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_slice_exprr[   s     r,   rl   z$SubexpressionFinder.visit_slice_exprw   rc   r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_cast_exprr[   s     r,   rn   z#SubexpressionFinder.visit_cast_expr{   rf   r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_type_form_exprr[   s     r,   rp   z(SubexpressionFinder.visit_type_form_expr   0    $$Q'''''r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_assert_type_exprr[   s     r,   rs   z*SubexpressionFinder.visit_assert_type_expr   0    &&q)))))r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_reveal_exprr[   s     r,   rv   z%SubexpressionFinder.visit_reveal_expr   r]   r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_assignment_exprr[   s     r,   rx   z)SubexpressionFinder.visit_assignment_expr   r`   r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_unary_exprr[   s     r,   rz   z$SubexpressionFinder.visit_unary_expr   rc   r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_list_exprr[   s     r,   r|   z#SubexpressionFinder.visit_list_expr   rf   r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_tuple_exprr[   s     r,   r~   z$SubexpressionFinder.visit_tuple_expr   rc   r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_dict_exprr[   s     r,   r   z#SubexpressionFinder.visit_dict_expr   rf   r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_template_str_exprr[   s     r,   r   z+SubexpressionFinder.visit_template_str_expr   0    ''*****r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_set_exprr[   s     r,   r   z"SubexpressionFinder.visit_set_expr   s0    q!!!!!r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_index_exprr[   s     r,   r   z$SubexpressionFinder.visit_index_expr   rc   r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_generator_exprr[   s     r,   r   z(SubexpressionFinder.visit_generator_expr   rq   r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_dictionary_comprehensionr[   s     r,   r   z2SubexpressionFinder.visit_dictionary_comprehension   s0    ..q11111r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_list_comprehensionr[   s     r,   r   z,SubexpressionFinder.visit_list_comprehension   s0    ((+++++r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_set_comprehensionr[   s     r,   r   z+SubexpressionFinder.visit_set_comprehension   r   r.   r
   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_conditional_exprr[   s     r,   r   z*SubexpressionFinder.visit_conditional_expr   rt   r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_type_applicationr[   s     r,   r   z*SubexpressionFinder.visit_type_application   rt   r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_lambda_exprr[   s     r,   r   z%SubexpressionFinder.visit_lambda_expr   r]   r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_star_exprr[   s     r,   r   z#SubexpressionFinder.visit_star_expr   rf   r.   r   c                t    |                      |           t                                          |           d S r'   )r7   rY   visit_await_exprr[   s     r,   r   z$SubexpressionFinder.visit_await_expr   rc   r.   c                :    | j                             |           d S r'   )r*   append)r2   rW   s     r,   r7   zSubexpressionFinder.add   s    """""r.   )r$   r0   )r4   r   r$   r0   )rW   r   r$   r0   )rW   r!   r$   r0   )rW   r    r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r	   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r
   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )rW   r   r$   r0   )1__name__
__module____qualname__r3   r9   r<   r>   r@   rB   rD   rF   rH   rJ   rL   rN   rP   rR   rT   rV   rZ   r_   rb   re   rh   rj   rl   rn   rp   rs   rv   rx   rz   r|   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r7   __classcell__)r\   s   @r,   r(   r(   .   s       0 0 0 0                                             % % % % % %) ) ) ) ) )$ $ $ $ $ $# # # # # #! ! ! ! ! !) ) ) ) ) )$ $ $ $ $ $# # # # # #( ( ( ( ( (* * * * * *% % % % % %) ) ) ) ) )$ $ $ $ $ $# # # # # #$ $ $ $ $ $# # # # # #+ + + + + +" " " " " "$ $ $ $ $ $( ( ( ( ( (2 2 2 2 2 2, , , , , ,+ + + + + +* * * * * ** * * * * *% % % % % %# # # # # #$ $ $ $ $ $# # # # # # # #r.   r(   N)r#   r   r$   r%   )&__doc__
__future__r   
mypy.nodesr   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!   mypy.traverserr"   r-   r(    r.   r,   <module>r      s   - - " " " " " "                                                               @ , + + + + +   b# b# b# b# b#* b# b# b# b# b#r.   