3
‰å<_ ã , @ sô d dl mZmZmZmZmZmZmZ dadd„ Z dd„ Z
dd„ Zeje
ejeejeejeejeejeejeejeejeejeejeejeejeejeejeej e!ej"e!ej#e!ej$dej%dej&dej'diZ(d d
„ Z)dd„ Z*d
d„ Z+dd„ Z,e e,ƒ dS )é )Ú VFuncInfoÚFunctionInfoÚCallableInfoÚ
ObjectInfoÚ
StructInfoÚ DirectionÚTypeTagNc C s | a dS )z�Set doc string generator function
:param callable func:
Callable which takes a GIInfoStruct and returns documentation for it.
N)Ú_generate_doc_string_func)Úfunc© r ú!/usr/lib64/python3.6/docstring.pyÚset_doc_string_generator% s r
c C s t S )z6Returns the currently registered doc string generator.)r r r r r Úget_doc_string_generator/ s r c C s t | ƒS )aE Generate a doc string given a GIInfoStruct.
:param gi.types.BaseInfo info:
GI info instance to generate documentation for.
:returns:
Generated documentation as a string.
:rtype: str
This passes the info struct to the currently registered doc string
generator and returns the result.
)r )Úinfor r r Úgenerate_doc_string4 s r c C sf | j ƒ }tj|d ƒ}|r(t|dƒr(|jS |tjkr^| jƒ }|jƒ }|sN| j ƒ S d|j
ƒ |f S | j ƒ S )NÚ__name__z%s.%s)Zget_tagÚ_type_tag_to_py_typeÚgetÚhasattrr r Ú INTERFACEZ
get_interfaceÚget_nameZget_tag_as_stringZ
get_namespace)Zgi_typeZtype_tagZpy_typeZifaceZ info_namer r r Ú_get_pytype_hint\ s
r c
C s g }t | tƒrdg}nt | tƒr.| jƒ r.dg}| jƒ }d
}tƒ }tƒ }x:|D ]2}|j|jƒ ƒ |j|jƒ j ƒ ƒ |j|j
ƒ ƒ qLW xŒt|ƒD ]€\}}|jƒ t
jkr¤qŒ||kr®qŒ|jƒ }t|jƒ ƒ} | |krÖ|d| 7 }|jƒ sæ||krð|d7 }n|jƒ �r|d7 }|j|ƒ qŒW dj|ƒ}
g }t| jƒ ƒ}| jƒ �rf|�rf||k�rf|}| jƒ �r\|d7 }|j|ƒ xlt|ƒD ]`\}}|jƒ t
jk�rŒ�qp||k�rš�qp|jƒ }t|jƒ ƒ} | |k�rÄ|d| 7 }|j|ƒ �qpW |�rðd| j|
dj|ƒf S d | j|
f S d S )NÚselfÚvoidú:z=Nonez=