fF ddlmZmZmZmZmZmZmZdadZ dZ dZ ieje ejeej eej"eej$eej&eej(eej*eej,eej.eej2eej4eej8eej:eej<eej@e!ejDe!ejFe!ejHdejJdejLdejNdiZ(dZ)dZ*dZ+d Z,e e,y) ) VFuncInfo FunctionInfo CallableInfo ObjectInfo StructInfo DirectionTypeTagNc|ay)zSet doc string generator function :param callable func: Callable which takes a GIInfoStruct and returns documentation for it. N_generate_doc_string_func)funcs ./usr/lib/python3/dist-packages/gi/docstring.pyset_doc_string_generatorr%s !%ctS)z6Returns the currently registered doc string generator.r rrget_doc_string_generatorr/s $$rct|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 infos rgenerate_doc_stringr4s %T **rcV|j}tj|d}|rt|dr |jS|t j k(rG|j}|j}|s|jS|jd|S|jS)N__name__.) get_tag_type_tag_to_py_typegethasattrrr INTERFACE get_interfaceget_nameget_tag_as_string get_namespace)gi_typetype_tagpy_typeiface info_names r_get_pytype_hintr)\s H"&&x6G77J/ W&& &%%'NN$ ,,. .--/;;  $ $ &&rcng}t|trdg}n#t|tr|jrdg}|j }d}|j j h}t}|D]m}|j|j|j|jj |j|jot|D]\}}|jtjk(r(||vr-|j!}t#|j} | |vr|d| zz }|j%s||vr|dz }n|j'r|dz }|j)|dj+|} g} t#|j } |j-s.| r,| |vr(| }|j/r|dz }| j)|t|D]r\}}|jtj0k(r(||vr-|j!}t#|j} | |vr|d| zz }| j)|t| r#|j2d| d dj+| S|j2d| d S) Nself)void:z=Nonez =z, z or None(z) -> )) isinstancerr is_method get_argumentsget_return_typeget_array_lengthsetadd get_destroyget_type get_closure enumerate get_directionrOUTr!r) may_be_null is_optionalappendjoin skip_returnmay_return_nullINr) r in_args_strsargshint_blacklistignore_indicesuser_data_indicesargiargstrhint in_args_str out_args_strs return_hints r_generate_callable_info_docrPnszL$ "x D, ' >> "8L    DN**,==?@N13??,-3<<>::<=coo/01 D/$3    )-- /     / ~ % cDj F ?? %6 6 g F __  m #FF#$))L)KM"4#7#7#9:K    ++^2S    ! j FV$D/ %3    ),, .     / ~ % cDj FV$ %!% TYY}=UVV==+66rc:d}d}t|tr-|jdkDr3|d|jzdzz }n|d|jzdzz }|j D]'}|j s|dt |zdzz })|r||zSy)Nz :Constructors: :: z z() z(**properties)  )r0rget_sizer! get_methodsis_constructorrP)rheaderdoc method_infos r_generate_class_info_docr[s )F C$ # ==?Q  6DMMO+f4 4C v '*<<<'')L  % % ' 67 DDtK KCL |rc|t|ttfr t|St|tr t |Sy)NrR)r0rrr[rrPrs r_generate_doc_dispatchr]s4$Z01'-- D, '*400 r)-_girrrrrrr r rrrBOOLEANboolINT8intUINT8INT16UINT16INT32UINT32INT64UINT64FLOATfloatDOUBLEGLISTlistGSLISTARRAYGHASHdictUTF8strFILENAMEUNICHARrGTYPEERRORVOIDrr)rPr[r]rrrrzs.   !%% + c s s    s     s  u  t  t t c  ((#!" ))4 t t d+2'$=7@*/0r