
    fF                        S SK JrJrJrJrJrJrJr  SqS r	S r
S r0 \R                  \_\R                  \_\R                   \_\R"                  \_\R$                  \_\R&                  \_\R(                  \_\R*                  \_\R,                  \_\R.                  \_\R2                  \_\R4                  \_\R8                  \_\R:                  \_\R<                  \_\R@                  \!_\RD                  \!_\RF                  \!\RH                  S\RJ                  S\RL                  S\RN                  S0Er(S r)S r*S r+S	 r,\	" \,5        g)
   )	VFuncInfoFunctionInfoCallableInfo
ObjectInfo
StructInfo	DirectionTypeTagNc                     U q g)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.pyset_doc_string_generatorr   %   s
     !%    c                      [         $ )z6Returns the currently registered doc string generator.r    r   r   get_doc_string_generatorr   /   s    $$r   c                     [        U 5      $ )a%  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   infos    r   generate_doc_stringr   4   s     %T**r   c                 z   U R                  5       n[        R                  US 5      nU(       a  [        US5      (       a  UR                  $ U[
        R                  :X  aN  U R                  5       nUR                  5       nU(       d  U R                  5       $ UR                  5       < SU< 3$ U R                  5       $ )N__name__.)get_tag_type_tag_to_py_typegethasattrr   r	   	INTERFACEget_interfaceget_nameget_tag_as_stringget_namespace)gi_typetype_tagpy_typeiface	info_names        r   _get_pytype_hintr)   \   s     H"&&x6G77J//	W&&	&%%'NN$	,,..--/;;$$&&r   c                    / n[        U [        5      (       a  S/nO-[        U [        5      (       a  U R                  5       (       a  S/nU R	                  5       nSnU R                  5       R                  5       1n[        5       nU Hn  nUR                  UR                  5       5        UR                  UR                  5       R                  5       5        UR                  UR                  5       5        Mp     [        U5       H  u  pvUR                  5       [        R                  :X  a  M)  Xt;   a  M0  UR!                  5       n[#        UR                  5       5      n	X;  a  USU	-   -  nUR%                  5       (       d  Xu;   a  US-  nOUR'                  5       (       a  US-  nUR)                  U5        M     SR+                  U5      n
/ n[#        U R                  5       5      nU R-                  5       (       d9  U(       a2  X;  a-  UnU R/                  5       (       a  US-  nUR)                  U5        [        U5       Hw  u  pvUR                  5       [        R0                  :X  a  M)  Xt;   a  M0  UR!                  5       n[#        UR                  5       5      n	X;  a  USU	-   -  nUR)                  U5        My     U(       a&  U R2                  < SU
< S	SR+                  U5      < 3$ U R2                  < SU
< S
3$ )Nself)void:z=Nonez=<optional>z, z or None(z) -> ))
isinstancer   r   	is_methodget_argumentsget_return_typeget_array_lengthsetaddget_destroyget_typeget_closure	enumerateget_directionr   OUTr!   r)   may_be_nullis_optionalappendjoinskip_returnmay_return_nullINr   )r   in_args_strsargshint_blacklistignore_indicesuser_data_indicesargiargstrhintin_args_strout_args_strsreturn_hints                r   _generate_callable_info_docrP   n   so   L$	""x	D,	'	'>>"8LDN **,==?@N3??,-3<<>::<=coo/0  D/)--//%cDj F?? 6gF__m#FF# " ))L)K M"4#7#7#9:K++2S!!j FV$D/),,./%cDj FV$ " !%TYY}=UVV==+66r   c                 ^   SnSn[        U [        5      (       a.  U R                  5       S:  a  USU R                  5       -   S-   -  nOUSU R                  5       -   S-   -  nU R	                  5        H.  nUR                  5       (       d  M  US[        U5      -   S-   -  nM0     U(       a  X-   $ g)Nz
:Constructors:

::

     z    z()
z(**properties)

)r0   r   get_sizer!   get_methodsis_constructorrP   )r   headerdocmethod_infos       r   _generate_class_info_docr[      s    )F
C$
##==?Q6DMMO+f44Cv'*<<<'')%%''67DDtKKC * |r   c                     [        U [        [        45      (       a  [        U 5      $ [        U [        5      (       a  [        U 5      $ g)NrR   )r0   r   r   r[   r   rP   r   s    r   _generate_doc_dispatchr]      s:    $Z011'--	D,	'	'*400r   )-_gir   r   r   r   r   r   r	   r   r   r   r   BOOLEANboolINT8intUINT8INT16UINT16INT32UINT32INT64UINT64FLOATfloatDOUBLEGLISTlistGSLISTARRAYGHASHdictUTF8strFILENAMEUNICHARr   GTYPEERRORVOIDr   r)   rP   r[   r]   r   r   r   <module>rz      s  .   ! %%
+ cs  s  	
  s    s    u    t    t  t  c   ((#!"  ))4ttd+ 2'$=7@* / 0r   