
    
`i                     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__     k/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/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DDDr   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HHHr   r,   c                   R    e Zd ZdZdej        e         dej        e         ddfdZdS )DocstringMetazDocstring 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         'F3K'./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fSk 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 (,' 'fSk' 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	'fSk	' 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	'fSk	' 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	'fSk	' 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     ! 	JJt-...1 

2  	.JJt,--- 	4yy~~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       ** 
 

 
 
 
 QZ_    X$ P~. P P P XP 
/ 
 
 
 X
 $45    X 
af%56 
 
 
 X
 QZ(;<    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    TY       TY   ' ' ' ' ' ' ' '.    ]   (' ' ' ' '} ' ' '$' ' ' ' 'm ' ' '' ' ' ' '- ' ' '' ' ' ' '} ' ' 'O
 O
 O
 O
 O
 O
 O
 O
 O
 O
r   