?*g> d Z ddlmZ ddlZddlmZ ddlZddlmZmZ ddl m
Z
ddlmZ
ddlmZ erdd lmZ G d
de
j ZddZdS )z=Checker for anything related to the async protocol (PEP 492). )annotationsN)
TYPE_CHECKING)nodesutil)checkers)utils)decorated_with)PyLinterc e Zd ZdZdddddifddd ddifd
Zdd
Z ej d dd Z ej d dd Z dS )AsyncCheckerasynczYield inside async functionyield-inside-async-functionzQUsed when an `yield` or `yield from` statement is found inside an async function.
minversion zFAsync context manager '%s' doesn't implement __aenter__ and __aexit__.not-async-context-managerzxUsed when an async context manager is used with an object that does not implement the async context management protocol.)E1700E1701returnNonec B | j j j | _ dg| _ d S )Nzcontextlib.asynccontextmanager)linterconfigmixin_class_rgx_mixin_class_rgx_async_generators)selfs g/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/pylint/checkers/async.pyopenzAsyncChecker.open* s# $ 2 B"B!C nodenodes.AsyncFunctionDefc | t j D ]a}| |u rIt j d d dk st
|t j r| d| bd S )N r r )r" ) nodes_of_classr Yieldscopesysversion_info
isinstance YieldFromadd_message)r r" childs r visit_asyncfunctiondefz#AsyncChecker.visit_asyncfunctiondef. s ((55 L LE{{}}$$ !$..*UEO2T2T. !>U KKK L Lr! nodes.AsyncWithc |j D ]m\ }}t j | }|t |t j r7t |t j rt || j rgnt |t j j rt |j
| j rn | d | d # t j j $ ri t |t j rLt j | sY d| j j j v r"| j |j rY IY nw xY w| d||j f od S )N
__aenter__ __aexit__r )r" args)items
checker_utils
safe_inferr+ r UninferableBaser AsyncFunctionDefr r astroidbasesAsyncGeneratorparentgetattr
exceptions
NotFoundErrorInstancehas_known_basesr r ignored_checks_for_mixinsr matchnamer- )r r" ctx_mgr_inferreds r visit_asyncwithzAsyncChecker.visit_asyncwith6 s * $ $ JGQ$/88H:h8L#M#M(E$:;;
"(D,BCC Hgm&BCC
"(/43IJJ $$\222$$[111 )7 % % %!(G,<== % -