U ƒÆb] ã,@sôddlmZmZmZmZmZmZmZdadd„Z dd„Z dd„Z ej e ejeejeejeejeejeejeejeejeejeejeejeejeejeejeej e!ej"e!ej#e!ej$dej%dej&dej'diZ(d d „Z)d d „Z*d d„Z+dd„Z,e e,ƒdS)é)Ú VFuncInfoÚ FunctionInfoÚ CallableInfoÚ ObjectInfoÚ StructInfoÚ DirectionÚTypeTagNcCs|adS)zSet 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/lib/python3/dist-packages/gi/docstring.pyÚset_doc_string_generator%srcCstS)z6Returns the currently registered doc string generator.r r r r r Úget_doc_string_generator/srcCst|ƒS)aEGenerate 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_string4s rcCsf| ¡}t |d¡}|r(t|dƒr(|jS|tjkr^| ¡}| ¡}|sN|  ¡Sd|  ¡|fS|  ¡S)NÚ__name__z%s.%s) Zget_tagÚ_type_tag_to_py_typeÚgetÚhasattrrrÚ INTERFACEZ get_interfaceÚget_nameZget_tag_as_stringZ get_namespace)Zgi_typeZtype_tagZpy_typeZifaceZ info_namer r r Ú_get_pytype_hint\s  rc Csòg}t|tƒrdg}nt|tƒr.| ¡r.dg}| ¡}d}tƒ}tƒ}|D]2}| | ¡¡| | ¡  ¡¡| |  ¡¡qJt |ƒD]~\}}|  ¡t jkržq†||kr¨q†| ¡}t| ¡ƒ} | |krÐ|d| 7}| ¡sà||krê|d7}n| ¡rú|d7}| |¡q†d |¡} g} t| ¡ƒ} | ¡sZ| rZ| |krZ| }| ¡rP|d7}|  |¡t |ƒD]`\}}|  ¡t jkr~qb||krŒqb| ¡}t| ¡ƒ} | |kr¶|d| 7}|  |¡qb| ràd|j| d | ¡fSd |j| fSdS) NÚself)Zvoidú:z=Nonez =z, z or Nonez %s(%s) -> %sz%s(%s))Ú isinstancerrZ is_methodZ get_argumentsÚsetÚaddZ get_destroyZget_typeZget_array_lengthZ get_closureÚ enumerateZ get_directionrZOUTrrZ may_be_nullZ is_optionalÚappendÚjoinZget_return_typeZ skip_returnZmay_return_nullÚINr) rZ in_args_strsÚargsZhint_blacklistZignore_indicesZuser_data_indicesÚargÚiZargstrZhintZ in_args_strZ out_args_strsZ return_hintr r r Ú_generate_callable_info_docnsb              r&cCs†d}d}t|tƒr4| ¡dkrH|d| ¡d7}n|d| ¡d7}| ¡D] }| ¡rP|dt|ƒd7}qP|r~||SdSdS)Nz :Constructors: :: Úéz z() z(**properties) Ú )rrZget_sizerZ get_methodsZis_constructorr&)rÚheaderÚdocZ method_infor r r Ú_generate_class_info_doc®s   r,cCs,t|ttfƒrt|ƒSt|tƒr(t|ƒSdS)Nr')rrrr,rr&rr r r Ú_generate_doc_dispatchÃs  r-)-Z_girrrrrrrr rrrZBOOLEANÚboolZINT8ÚintZUINT8ZINT16ZUINT16ZINT32ZUINT32ZINT64ZUINT64ZFLOATÚfloatZDOUBLEZGLISTÚlistZGSLISTZARRAYZGHASHÚdictZUTF8ÚstrZFILENAMEZUNICHARrZGTYPEZERRORZVOIDrrr&r,r-r r r r Úsj$  ë@