§
    ãŽ’j•  ã                   ór  — d Z ddlZddlZh d£Zh d£ZddhZddhZd	d
hZddhZ	 G d„ de
¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d„ d¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ d ¦  «        ZdS )!zCommon methods for parsing.é    N>   ÚargÚkeyÚparamÚkeywordÚargumentÚ	attributeÚ	parameter>   ÚraiseÚexceptÚraisesÚ	exceptionÚdeprecationÚ
deprecatedÚreturnÚreturnsÚyieldÚyieldsÚexampleÚexamplesc                   ó   — e Zd ZdZdS )Ú
ParseErrorz*Base class for all parsing related errors.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úEC:\Projects\DSCons\.venv\Lib\site-packages\docstring_parser\common.pyr   r      s   € € € € € Ø4Ð4Ð4Ð4r   r   c                   ó&   — e Zd ZdZdZdZdZdZdZdS )ÚDocstringStylezDocstring style.é   é   é   é   éÿ   N)	r   r   r   r   ÚRESTÚGOOGLEÚNUMPYDOCÚEPYDOCÚAUTOr   r   r   r    r       s-   € € € € € ØÐà€DØ€FØ€HØ€FØ€D€D€Dr   r    c                   ó   — e Zd ZdZdZdZdZdS )ÚRenderingStylez1Rendering style when unparsing parsed docstrings.r!   r"   r#   N)r   r   r   r   ÚCOMPACTÚCLEANÚEXPANDEDr   r   r   r,   r,   $   s#   € € € € € Ø;Ð;à€GØ€EØ€H€H€Hr   r,   c                   óR   — e Zd ZdZdej        e         dej        e         ddfd„ZdS )ÚDocstringMetaz“Docstring meta information.

    Symbolizes lines in form of

        :param arg: description
        :raises ValueError: if something happens
    ÚargsÚdescriptionr   Nc                 ó"   — || _         || _        dS )a,  Initialize self.

        :param args: list of arguments. The exact content of this variable is
            dependent on the kind of docstring; it's used to distinguish
            between custom docstring meta information items.
        :param description: associated docstring description.
        N)r2   r3   )Úselfr2   r3   s      r   Ú__init__zDocstringMeta.__init__5   s   € ð ˆŒ	Ø&ˆÔÐÐr   )	r   r   r   r   ÚTÚListÚstrÚOptionalr6   r   r   r   r1   r1   ,   sV   € € € € € ðð ð'Ø”F˜3”Kð'Ø./¬j¸¬oð'à	ð'ð 'ð 'ð 'ð 'ð 'r   r1   c                   ó®   ‡ — e Zd ZdZdej        e         dej        e         dedej        e         dej        e         dej        e         dd	fˆ fd
„Z	ˆ xZ
S )ÚDocstringParamz*DocstringMeta symbolizing :param metadata.r2   r3   Úarg_nameÚ	type_nameÚis_optionalÚdefaultr   Nc                 ó„   •— t          ¦   «                              ||¦  «         || _        || _        || _        || _        dS ©úInitialize self.N)Úsuperr6   r=   r>   r?   r@   )r5   r2   r3   r=   r>   r?   r@   Ú	__class__s          €r   r6   zDocstringParam.__init__F   s@   ø€ õ 	‰Œ×Ò˜˜{Ñ+Ô+Ð+Ø ˆŒØ"ˆŒØ&ˆÔØˆŒˆˆr   ©r   r   r   r   r7   r8   r9   r:   Úboolr6   Ú__classcell__©rE   s   @r   r<   r<   C   s¦   ø€ € € € € Ø4Ð4ðàŒf�SŒkðð ”Z ”_ðð ð	ð
 ”:˜c”?ðð ”Z Ô%ðð ”˜C”ðð 
ðð ð ð ð ð ð ð ð ð r   r<   c                   ó˜   ‡ — e Zd ZdZ	 d
dej        e         dej        e         dej        e         dedej        e         ddfˆ fd	„Z	ˆ xZ
S )ÚDocstringReturnsz7DocstringMeta symbolizing :returns or :yields metadata.Nr2   r3   r>   Úis_generatorÚreturn_namer   c                 óv   •— t          ¦   «                              ||¦  «         || _        || _        || _        dS rB   )rD   r6   r>   rL   rM   )r5   r2   r3   r>   rL   rM   rE   s         €r   r6   zDocstringReturns.__init__Z   s<   ø€ õ 	‰Œ×Ò˜˜{Ñ+Ô+Ð+Ø"ˆŒØ(ˆÔØ&ˆÔÐÐr   ©NrF   rI   s   @r   rK   rK   W   sŸ   ø€ € € € € ØAÐAð (,ð'ð 'àŒf�SŒkð'ð ”Z ”_ð'ð ”:˜c”?ð	'ð
 ð'ð ”Z ”_ð'ð 
ð'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'r   rK   c                   óv   ‡ — e Zd ZdZdej        e         dej        e         dej        e         ddfˆ fd„Zˆ xZ	S )ÚDocstringRaisesz+DocstringMeta symbolizing :raises metadata.r2   r3   r>   r   Nc                 óh   •— t          ¦   «                              ||¦  «         || _        || _        dS rB   )rD   r6   r>   r3   )r5   r2   r3   r>   rE   s       €r   r6   zDocstringRaises.__init__l   s4   ø€ õ 	‰Œ×Ò˜˜{Ñ+Ô+Ð+Ø"ˆŒØ&ˆÔÐÐr   ©
r   r   r   r   r7   r8   r9   r:   r6   rH   rI   s   @r   rQ   rQ   i   s{   ø€ € € € € Ø5Ð5ð	'àŒf�SŒkð	'ð ”Z ”_ð	'ð ”:˜c”?ð		'ð
 
ð	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'r   rQ   c                   óv   ‡ — e Zd ZdZdej        e         dej        e         dej        e         ddfˆ fd„Zˆ xZ	S )ÚDocstringDeprecatedz/DocstringMeta symbolizing deprecation metadata.r2   r3   Úversionr   Nc                 óh   •— t          ¦   «                              ||¦  «         || _        || _        dS rB   )rD   r6   rV   r3   )r5   r2   r3   rV   rE   s       €r   r6   zDocstringDeprecated.__init__{   ó4   ø€ õ 	‰Œ×Ò˜˜{Ñ+Ô+Ð+ØˆŒØ&ˆÔÐÐr   rS   rI   s   @r   rU   rU   x   s{   ø€ € € € € Ø9Ð9ð	'àŒf�SŒkð	'ð ”Z ”_ð	'ð ”˜C”ð		'ð
 
ð	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'r   rU   c                   óv   ‡ — e Zd ZdZdej        e         dej        e         dej        e         ddfˆ fd„Zˆ xZ	S )ÚDocstringExamplez+DocstringMeta symbolizing example metadata.r2   Úsnippetr3   r   Nc                 óh   •— t          ¦   «                              ||¦  «         || _        || _        dS rB   )rD   r6   r[   r3   )r5   r2   r[   r3   rE   s       €r   r6   zDocstringExample.__init__Š   rX   r   rS   rI   s   @r   rZ   rZ   ‡   s{   ø€ € € € € Ø5Ð5ð	'àŒf�SŒkð	'ð ”˜C”ð	'ð ”Z ”_ð		'ð
 
ð	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'r   rZ   c                   ó~  — e Zd ZdZ	 d	 dd„Zedej        e         fd„¦   «         Z	edej
        e         fd„¦   «         Zedej
        e         fd„¦   «         Zedej        e         fd„¦   «         Zedej
        e         fd	„¦   «         Zedej        e         fd
„¦   «         Zedej
        e         fd„¦   «         ZdS )Ú	Docstringz Docstring object representation.Nr   c                 óZ   — d| _         d| _        d| _        d| _        g | _        || _        dS )rC   NF)Úshort_descriptionÚlong_descriptionÚblank_after_short_descriptionÚblank_after_long_descriptionÚmetaÚstyle)r5   re   s     r   r6   zDocstring.__init__™   s6   € ð
 "&ˆÔØ $ˆÔØ-2ˆÔ*Ø,1ˆÔ)ØˆŒ	ØˆŒ
ˆ
ˆ
r   c                 óô   — g }| j         r6|                     | j         ¦  «         | j        r|                     d¦  «         | j        r|                     | j        ¦  «         |sdS d                     |¦  «        S )z{Return the full description of the function

        Returns None if the docstring did not include any description
        Ú Nú
)r`   Úappendrb   ra   Újoin)r5   Úrets     r   r3   zDocstring.description¥   s€   € ð ˆØÔ!ð 	Ø�JŠJ�tÔ-Ñ.Ô.Ð.ØÔ1ð Ø—
’
˜2‘”�ØÔ ð 	.Ø�JŠJ�tÔ,Ñ-Ô-Ð-àð 	Ø�4à�yŠy˜‰~Œ~Ðr   c                 ó$   — d„ | j         D ¦   «         S )z0Return a list of information on function params.c                 ó<   — g | ]}t          |t          ¦  «        ¯|‘ŒS r   )Ú
isinstancer<   ©Ú.0Úitems     r   ú
<listcomp>z$Docstring.params.<locals>.<listcomp>»   s'   € ÐOÐOÐO˜­j¸½~Ñ.NÔ.NÐO�ÐOÐOÐOr   ©rd   ©r5   s    r   ÚparamszDocstring.params¸   s   € ð PÐO ¤ÐOÑOÔOÐOr   c                 ó$   — d„ | j         D ¦   «         S )z\Return a list of information on the exceptions that the function
        may raise.
        c                 ó<   — g | ]}t          |t          ¦  «        ¯|‘ŒS r   )rn   rQ   ro   s     r   rr   z$Docstring.raises.<locals>.<listcomp>Â   s7   € ð 
ð 
ð 
Ø­*°T½?Ñ*KÔ*Kð
Øð
ð 
ð 
r   rs   rt   s    r   r   zDocstring.raises½   s%   € ð

ð 
Ø!œYð
ñ 
ô 
ð 	
r   c                 óL   — | j         D ]}t          |t          ¦  «        r|c S ŒdS )zeReturn a single information on function return.

        Takes the first return information.
        N)rd   rn   rK   ©r5   rq   s     r   r   zDocstring.returnsÆ   s;   € ð ”Ið 	ð 	ˆDÝ˜$Õ 0Ñ1Ô1ð Ø���ðàˆtr   c                 ó$   — d„ | j         D ¦   «         S )z0Return a list of information on function return.c                 ó<   — g | ]}t          |t          ¦  «        ¯|‘ŒS r   )rn   rK   ro   s     r   rr   z*Docstring.many_returns.<locals>.<listcomp>Ô   ó8   € ð 
ð 
ð 
Ø­*°TÕ;KÑ*LÔ*Lð
Øð
ð 
ð 
r   rs   rt   s    r   Úmany_returnszDocstring.many_returnsÑ   ó%   € ð
ð 
Ø!œYð
ñ 
ô 
ð 	
r   c                 óL   — | j         D ]}t          |t          ¦  «        r|c S ŒdS )z:Return a single information on function deprecation notes.N)rd   rn   rU   ry   s     r   r   zDocstring.deprecationØ   s;   € ð ”Ið 	ð 	ˆDÝ˜$Õ 3Ñ4Ô4ð Ø���ðàˆtr   c                 ó$   — d„ | j         D ¦   «         S )z2Return a list of information on function examples.c                 ó<   — g | ]}t          |t          ¦  «        ¯|‘ŒS r   )rn   rZ   ro   s     r   rr   z&Docstring.examples.<locals>.<listcomp>ã   r|   r   rs   rt   s    r   r   zDocstring.examplesà   r~   r   rO   )r   N)r   r   r   r   r6   Úpropertyr7   r:   r9   r3   r8   r<   ru   rQ   r   rK   r   r}   rU   r   rZ   r   r   r   r   r^   r^   –   s‡  € € € € € Ø*Ð*ð ð
ð 
ð
ð 
ð 
ð 
ð ð˜QœZ¨œ_ð ð ð ñ „Xðð$ ðP˜œ˜~Ô.ð Pð Pð Pñ „XðPð ð
˜œ˜Ô/ð 
ð 
ð 
ñ „Xð
ð ð˜œÐ$4Ô5ð ð ð ñ „Xðð ð
˜aœfÐ%5Ô6ð 
ð 
ð 
ñ „Xð
ð ð˜QœZÐ(;Ô<ð ð ð ñ „Xðð ð
˜!œ&Ð!1Ô2ð 
ð 
ð 
ñ „Xð
ð 
ð 
r   r^   )r   ÚenumÚtypingr7   ÚPARAM_KEYWORDSÚRAISES_KEYWORDSÚDEPRECATION_KEYWORDSÚRETURNS_KEYWORDSÚYIELDS_KEYWORDSÚEXAMPLES_KEYWORDSÚRuntimeErrorr   ÚEnumr    r,   r1   r<   rK   rQ   rU   rZ   r^   r   r   r   ú<module>r�      s!  ðØ !Ð !à €€€Ø Ð Ð Ð ðð ð €ð =Ð<Ð<€Ø% |Ð4Ð Ø˜iÐ(Ð Ø˜HÐ%€Ø 
Ð+Ð ð5ð 5ð 5ð 5ð 5�ñ 5ô 5ð 5ðð ð ð ð �T”Yñ ô ð ðð ð ð ð �T”Yñ ô ð ð'ð 'ð 'ð 'ð 'ñ 'ô 'ð 'ð.ð ð ð ð �]ñ ô ð ð('ð 'ð 'ð 'ð '�}ñ 'ô 'ð 'ð$'ð 'ð 'ð 'ð '�mñ 'ô 'ð 'ð'ð 'ð 'ð 'ð '˜-ñ 'ô 'ð 'ð'ð 'ð 'ð 'ð '�}ñ 'ô 'ð 'ðO
ð O
ð O
ð O
ð O
ñ O
ô O
ð O
ð O
ð O
r   