HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/sphinx/ext/autodoc/__pycache__/directive.cpython-310.pyc
o

�$�aI�	@sXdZddlZddlmZmZmZmZmZmZddl	m
Z
ddlmZm
Z
ddlmZddlmZddlmZmZdd	lmZdd
lmZmZddlmZddlmZmZdd
lm Z ddl!m"Z"m#Z#ddl$m%Z%e �&e'�Z(gd�Z)gd�Z*Gdd�de+�Z,Gdd�d�Z-deedededefdd�Z.dedededee
fdd�Z/Gd d!�d!e"�Z0dS)"z�
    sphinx.ext.autodoc.directive
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�Any�Callable�Dict�List�Set�Type)�nodes)�Element�Node)�RSTState)�
StringList)�Reporter�assemble_option_dict)�Config)�RemovedInSphinx50Warning�RemovedInSphinx60Warning)�BuildEnvironment)�
Documenter�Options)�logging)�SphinxDirective�switch_source_input)�nested_parse_with_titles)�membersz
undoc-memberszinherited-memberszshow-inheritance�private-members�special-memberszignore-module-all�exclude-memberszmember-orderzimported-memberszclass-doc-from)rrrrc@s:eZdZdZdefdd�Zdedeegeffdd�ZdS)	�DummyOptionSpecz"An option_spec allows any options.�returncCsdS)z&Behaves like some options are defined.T���selfrr�>/usr/lib/python3/dist-packages/sphinx/ext/autodoc/directive.py�__bool__*szDummyOptionSpec.__bool__�keycCsdd�S)NcSs|S�Nr)�xrrr"�<lambda>/sz-DummyOptionSpec.__getitem__.<locals>.<lambda>r)r!r$rrr"�__getitem__.szDummyOptionSpec.__getitem__N)	�__name__�
__module__�__qualname__�__doc__�boolr#�strrr(rrrr"r's rc@sheZdZdZdedededededdfd	d
�Z	de
ddfdd
�Zede
fdd��Zedefdd��ZdS)�DocumenterBridgez'A parameters container for Documenters.�env�reporter�options�lineno�staterNcCs2||_||_||_||_t�|_t�|_||_dSr%)	r0�	_reporter�genoptr3�set�record_dependenciesr�resultr4)r!r0r1r2r3r4rrr"�__init__5s
zDocumenterBridge.__init__�msgcCs,tjdtdd�tj||jj|jfd�dS)NzTDocumenterBridge.warn is deprecated.  Please use sphinx.util.logging module instead.���
stacklevel��location)�warnings�warnr�logger�warningr0�docnamer3)r!r;rrr"rB?s�zDocumenterBridge.warncC�tjdtdd�|jS)Nz,DocumenterBridge.filename_set is deprecated.r<r=)rArBrr8r rrr"�filename_setE��zDocumenterBridge.filename_setcCrF)Nz(DocumenterBridge.reporter is deprecated.r<r=)rArBrr5r rrr"r1KrHzDocumenterBridge.reporter)r)r*r+r,rr
r�intrr:r.rB�propertyrrGr1rrrr"r/2s��
�
r/�
documenter�configr2rcCs�tD]a}||jvr
q|�d|d�du}||jvrS|sS||vrKt|j|t�rK|tvrJ||durJ||�d�rJd�|j|||dd�g�||<q|j|||<q|�	|�durc||�
d�||<qtt|�
�|j��S)z0Recognize options of Documenter from user input.zno-TN�+�,�)�AUTODOC_DEFAULT_OPTIONS�option_spec�pop�autodoc_default_options�
isinstancer.�AUTODOC_EXTENDABLE_OPTIONS�
startswith�join�get�lstriprr�items)rKrLr2�name�negatedrrr"�process_documenter_optionsRs"

���r]r4�contentcCsvt||��,|jrt��}|j|_t|||�nt��}|j|_|�|d|�|jWd�S1s4wYdS)z1Parse an item of content generated by Documenter.rN)	r�titles_allowedr�section�documentr�	paragraph�nested_parse�children)r4r^rK�noderrr"�parse_generated_contentls$�rfc@s8eZdZdZe�ZdZdZdZdZ	de
efdd�ZdS)	�AutodocDirectivez�A directive class for all autodoc directives. It works as a dispatcher of Documenters.

    It invokes a Documenter upon running. After the processing, it parses and returns
    the content generated by Documenter.
    TrOrrc
CsP|jjj}z
|�|j�\}}Wn
tyd\}}Ynwt�d|||j�|j	dd�}|j
jjj
|}z
t||j|j�}Wn'tttfyf}ztjd|j	|f|j
j|fd�gWYd}~Sd}~wwt|j
||||j�}|||jd�}	|	j|jd�|js�gSt�dd	�|j��|jD]}
|jjjj�|
�q�t|j|j|	�}|S)
N)NNz[autodoc] %s:%s: input:
%s�z=An option to %s is either unknown or has an invalid value: %sr?r)�more_contentz[autodoc] output:
%s�
) r4rar1�get_source_and_liner3�AttributeErrorrC�debug�
block_textr[r0�app�registry�documentersr]rLr2�KeyError�
ValueError�	TypeError�errorrEr/�	arguments�generater^r9rWr8�settings�addrf)r!r1�sourcer3�objtype�doccls�documenter_options�exc�paramsrK�fnr9rrr"�run�s<
��
���
zAutodocDirective.runN)
r)r*r+r,rrQ�has_content�required_arguments�optional_arguments�final_argument_whitespacerr
r�rrrr"rg}srg)1r,rA�typingrrrrrr�docutilsr�docutils.nodesr	r
�docutils.parsers.rst.statesr�docutils.statemachiner�docutils.utilsr
r�
sphinx.configr�sphinx.deprecationrr�sphinx.environmentr�sphinx.ext.autodocrr�sphinx.utilr�sphinx.util.docutilsrr�sphinx.util.nodesr�	getLoggerr)rCrPrU�dictrr/r]rfrgrrrr"�<module>s6 
 
�
�