o
    Ni                     @  s   d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	 er*ddl
mZ ddlmZ G dd	 d	eZG d
d de	ZdddZdS )z#Docutils transforms used by Sphinx.    )annotations)TYPE_CHECKINGAny)DanglingReferences)SphinxTransform)Sphinx)ExtensionMetadatac                      s"   e Zd ZdZd fddZ  ZS )	SphinxDanglingReferenceszADanglingReferences transform which does not output info messages.kwargsr   returnNonec                   s>   z| j j}|j}t|j|j|_t   W ||_d S ||_w N)documentreporterreport_levelmaxWARNING_LEVELsuperapply)selfr
   r   r   	__class__ P/home/ubuntu/.local/lib/python3.10/site-packages/sphinx/transforms/references.pyr      s   zSphinxDanglingReferences.applyr
   r   r   r   )__name__
__module____qualname____doc__r   __classcell__r   r   r   r   r	      s    r	   c                   @  s   e Zd ZdZdZd
ddZd	S )SphinxDomainsz7Collect objects to Sphinx domains for cross references.iR  r
   r   r   r   c                 K  s   | j j| j | j j| j d S r   )envdomains_process_docdocnamer   )r   r
   r   r   r   r   $   s   zSphinxDomains.applyNr   )r   r   r   r   default_priorityr   r   r   r   r   r       s    r    appr   r   r   c                 C  s    |  t |  t ddddS )NbuiltinT)versionparallel_read_safeparallel_write_safe)add_transformr	   r    )r&   r   r   r   setup(   s   

r,   N)r&   r   r   r   )r   
__future__r   typingr   r   docutils.transforms.referencesr   sphinx.transformsr   sphinx.applicationr   sphinx.util.typingr   r	   r    r,   r   r   r   r   <module>   s    	