&,Yc@`sddlmZddlmZddlmZddlmZddlZddlZddlZddlm Z ddl m Z dd l m Z mZdd lmZed Zd Zd efdYZdefdYZdefdYZdefdYZdefdYZdefdYZdefdYZied6ed6ed6ZdefdYZdS( i(tabsolute_import(tdivision(tprint_function(tunicode_literalsN(tsaxutils(tTemplateLookupi(tastt xmlwriter(tto_underscorescC`sUt|tjr&|r|jSdSnt|drN|jrN|jd}nt|dd}|dkrt|tjr|j rd|j j|j fSd|j j|jfSnt|tj tj tj tjfrdt|dt|jfSt|tjr4|j r4dt|dt|j fSdt|dt|jfSdS(Nuindexu_chainiuparentu%s.%su%s-%st recursive(t isinstanceRt Namespacetnamethasattrt_chaintgetattrtNonetFunctiontshadowst namespacetPropertytSignalt VFunctiontFieldt make_page_idtTrue(tnodeR tparent((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyR(s  'cC`st|tjrd}n}t|tjtjtjfrEd}nSt|tjr`d}n8t|tjr{d}nt|tjr|j rd}q|j rd}qd}nt|tj tj frd}nt|tj r|jdk rd }nt|tjr2|jdk r2d }nft|tjr\|jdk r\d }n<t|tjrwd }n!t|tjrd }nd}|S(Nu namespaceuclassu interfaceurecordumethodu constructorufunctionuenumupropertyusignaluvfuncucallbackufieldudefault(R RR tClasstBoxedtCompoundt InterfacetRecordRt is_methodtis_constructortEnumtBitfieldRRRRRtCallableR(Rt node_kind((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyt get_node_kindBs8 !         ! ! !   tTemplatedScannercB`s5eZdZdZdZdZdZRS(cC`s+|j||_|j|j|_dS(N(tunmangle_specstspecst make_regextregex(tselfR*((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyt__init__esc`sitjdtd|Ddfdg|D]!\}}|||f^qDS(Nu<<([a-zA-Z_:]+)>>cs`s*|] \}}|jd|fVqdS(u!N(tlstrip(t.0R tspec((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pys ksc`s%fd}j||S(Nc`sz|jd}d|kr6|jdd\}}nd}|}|d}|rrrrd||fS|SdS(Niu:u (?P<%s_%s>%s)(tgrouptsplitR(tmatchtchild_spec_namet pattern_namet child_spect unmangled(R tspecdicttunmangle(ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyt replace_funcns   (tsub(R1R R;(tmangledR9R:(R ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyR:ms(tretcompiletdictR(R-R*R R1((R=R9R:ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyR)iscC`s&djd|D}tj|S(Nu|cs`s4|]*\}}|jdsd||fVqdS(u!u (?P<%s>%s)N(t startswith(R0R R1((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pys s (tjoinR>R?(R-R*R,((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyR+scC`sy|j}i|j||6}|d}xF|jD]8\}}|j|r9|t|}|||>:(<>)usignalu2#<>::(<>)u type_nameu#(<>)u enum_valueu%(<>)u parameteru@<>u function_callu<>\(\)(u!alphau [a-zA-Z0-9_]+(u !alpha_dashu[a-zA-Z0-9_-]+(upropertyu3#<>:(<>)(usignalu2#<>::(<>)(u type_nameu#(<>)(u enum_valueu%(<>)(u parameteru@<>(u function_callu<>\(\)(tsuperRTR.(R-R*((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyR.s (RRRSR.(((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRTst DocFormattercB`s%eZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZedZdZdZdZdZdZedZdZdZdZdZ dZ!RS(cC`s||_t|_dS(N(t _transformerRTt_scanner(R-t transformer((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyR.s cC`s tj|S(N(Rtescape(R-RO((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRZscC`s?t|dtrtSt|tjr;|jdkr;tStS(Nuprivate(RtFalseR RtNodeRRR(R-R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pytshould_render_nodes !cC`s^|dkrdSd}xA|jdD]0}|d7}||j||7}|d7}q&W|S(Nuu u

u

(RR3t format_inline(R-Rtdoctresulttpara((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pytformats  cC`s_y|jj|}Wntk r*dSXx-|D]%\}}|j|}|r2|Sq2WdS(N(RWtsplit_ctype_namespacest ValueErrorRtget(R-tidenttmatchesRR R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyt _resolve_types cC`s_y|jj|}Wntk r*dSXx-|D]%\}}|j|}|r2|Sq2WdS(N(RWtsplit_csymbol_namespacesRdRt get_by_symbol(R-tsymbolRgRR R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyt_resolve_symbols cC`s;x!|D]}|j|kr|SqWtd|fdS(NuCould not find %s(R tKeyError(R-tlist_R titem((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyt _find_things cC`s |j|S(N(RZ(R-RR4tprops((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyt_process_otherscC`sh|j|d}|dkr#|Sy|j|j|d}Wnttfk rZ|SX|j|S(Nu type_nameu property_name(RhRRpRGtAttributeErrorRmt format_xref(R-RR4Rqt type_nodetprop((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyt_process_propertys cC`sh|j|d}|dkr#|Sy|j|j|d}Wnttfk rZ|SX|j|S(Nu type_nameu signal_name(RhRRptsignalsRsRmRt(R-RR4RqRutsignal((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyt_process_signals cC`s0|j|d}|dkr#|S|j|S(Nu type_name(RhRRt(R-RR4Rqttype_((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyt_process_type_name s cC`sZ|d}yd|j|fSWntk r3nX|j|}|rV|j|S|S(Nu member_nameu%s(t fundamentalsRmRlRt(R-RR4Rqt member_namet enum_value((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyt_process_enum_values   cC`sIy|j|d}Wnttfk r1|SXd|j||fS(Nu param_nameu%s(t get_parameterRsRdtformat_parameter_name(R-RR4Rqt parameter((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyt_process_parameter!s cC`s0|j|d}|dkr#|S|j|S(Nu symbol_name(RlRRt(R-RR4Rqtfunc((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyt_process_function_call)s cC`so|\}}}i|jd6|jd6|jd6|jd6|jd6|jd6|jd6}|||||S(Nuotherupropertyusignalu type_nameu enum_valueu parameteru function_call(RrRwRzR|RRR(R-RttoktkindR4Rqtdispatch((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyt_process_token0s       cC`s tdS(N(tNotImplementedError(R-R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pytget_in_parameters?scC`sD|jj|}g|D]}|j||^q}dj|S(Nu(RXRQRRB(R-RRattokensRtwords((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyR^Bs%cC`s$t|jtjrdS|jSdS(Nu...(R ttypeRtVarargstargname(R-RR((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRGscC`s tdS(N(R(R-R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pytformat_function_nameMscC`s tdS(N(R(R-R{tlink((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyt format_typePscC`s>t|tjr|jSt|tjr8|j|St|tjrv|jdk rvd|j |j|jfSt|tj r|jdk rd|j |j|jfSt|tj r|jdk rd|j |j|jfSt|tj r0|jdk r0d|j |j|jfSt |SdS(Nu%s:%su%s::%su%s->%s(R RR R RRRRRtformat_page_nameRRRR(R-R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRSs !!!!cK`s|dkst|d rKdgtt|j}tjd|St|tj r{|j |j |d|j S|j |jj kr|j||S|j||SdS(Nu namespaceuxrefuindexulinku.(uxrefuindex(RR tlisttsortedRERt build_xml_tagR RtMemberRtRR RRWtformat_internal_xreftformat_external_xref(R-Rtattrdicttattrs((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRtcscC`s;dt|fgtt|j}tjd|S(Nuxrefulink(RRRRERR(R-RRR((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRos+cC`so|j}dd|jt|jt|ffg}|tt|j7}tj d||j |S(Nuhrefu../%s-%s/%s.htmlulink( RR tstrtversionRRRRERRR(R-RRtnsR((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRss  cC`stS(N(R(R-tfield((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pytfield_is_writablezscC`sg}|jr&| r&|jdn|jrU| rU|j|rU|jdnt|tjr|jr|jdn|jr|jdqndj |S(NuReaduWriteu ConstructuConstruct Onlyu / ( treadabletappendtwritableRR RRt constructtconstruct_onlyRB(R-t property_Rtflags((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pytformat_property_flags}s  cC`st|tjr%|jjddS|jr;t|jSt|tjrQdSt|tjrgdSt|tjr}dSt ddS(Nu-u_ucallbackuanonymous_unionuanonymous fieldu invalid node( R RRR treplaceRtCallbacktUnionRt Exception(R-R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRs  cC`s|dj|dS(Nii(tlower(R-tstring((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pytto_lower_camel_casescC`sat|tjst|g}x/|jrR|jj|j}|j|q$W|j|S(N( R RRtAssertionErrort parent_typeRWtlookup_typenodeRtreverse(R-Rt parent_chain((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pytget_class_hierarchys   cC`s{t|tjstt|jdkrst|jdkredj|jd d|jdS|jdSndSdS(Niiu, iu and uGObject.Object(R RRRRFt prerequisitesRB(R-R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pytformat_prerequisitess #cC`st|tjst|jjd|j}g}xc|jjD]R}t|tjscqEnx1|jD]&}|j |krm|j |PqmqmWqEWt |dkrdSd|jf}t |dkr||djS|dj d|d Dd |djSdS( Nu.iuNoneu%s is implemented by iu, cs`s|]}|jVqdS(N(R (R0ti((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pys siu and ( R RRRRR tvaluesRt interfacest target_ginameRRFRB(R-Rt node_nametimpltct implementedtout((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pytformat_known_implementationss   ("RRRSR.RZR]RbRhRlRpRrRwRzR|RRRRRR^RRR[RRRtRRRRRRRRR(((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRVs>                       t DocFormatterCcB`sMeZdZdZidd6dd6dd6ZedZdZdZRS(uCu text/x-csrcuTRUEuFALSEuNULLcC`sot|tjr&|j|jdS|jdk r<|jS|jrL|jS|jj |}t |dSdS(Nu*uctype( R RtArrayRt element_typetctypeRttarget_fundamentalRWRR(R-R{RR((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRs cC`s$t|tjr|jS|jSdS(N(R RRRkR (R-R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRscC`s|jS(N(tall_parameters(R-R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRs( RRRStlanguaget mime_typeR}R[RRR(((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRs  tDocFormatterIntrospectableBasecB`seZdZRS(cC`svt|tjr%|jdk r%tSt|dts;tSt|tjr`|j dk r`tSt t |j |S(Nuintrospectable( R RR tis_gtype_struct_forRR[RRRt shadowed_byRURR](R-R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyR]s!!(RRRSR](((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRstDocFormatterPythoncB`sqeZdZdZidd6dd6dd6ZdZd Zd Zd Ze d Z d Z dZ RS(uPythonu text/pythonuTrueuTRUEuFalseuFALSEuNoneuNULLcC`s,t|dtrtStt|j|S(Nuis_constructor(RR[RURR](R-R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyR]scC`s0t|dtrtSt|tjr,tStS(Nu is_method(RR[RR RR(R-R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyR! s cC`sF|j|r"||jkr"dSt|jtjr;dS|jSdS(Nuselfu...(R!tinstance_parameterR RRRR(R-RR((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRs cC`sidd6dd6dd6dd6dd6d d 6d d 6d d 6d d 6d d6d d6dd6dd6dd6dd6dd6dd6dd6}|j||S(Nuunicodeuutf8ugunicharustrugcharugucharuboolugbooleanuintugintuguintuglongugulongugint64uguint64ufloatugfloatugdoubleu gchararrayu GLib.ParamuGParamuobjectuPyObjectu[str]uGStrvu GLib.VariantuGVariant(Re(R-R tfundamental_types((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pytformat_fundamental_types( cC`st|tjtjfr3d|j|jdSt|tjrkd|j|j|j|jfS|j dk r|j S|j |j SdS(Nu[u]u{%s: %s}( R RtListRRRtMaptkey_typet value_typeRRRR(R-R{R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyR4scC`s7|jdk r,d|j|j|jfS|jSdS(Nu%s.%s(RRRR (R-R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyR?scC`s|jS(N(R(R-R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyREs( RRRSRRR}R]R!RRR[RRR(((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRs    tDocFormatterGjscB`seZdZdZidd6dd6dd6ZdZd Zd Zd Ze d Z d Z dZ dZ dZdZdZdZdZdZdZRS(uGjsu text/x-gjsutrueuTRUEufalseuFALSEunulluNULLcC`s0t|dtrtSt|tjr,tStS(Nu is_method(RR[RR RR(R-R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyR!Ss cC`sd}d}ttd|j}x\|D]T}|dkr^t|jdkr^|}n|dkr.|jdkr.|}q.q.W|dkr|}n|dkrt|dkr|d}n||_||_dS(NcS`st|dtS(Nuintrospectable(RR(R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pytasiunew( RRtfiltert constructorsRFt parametersR tgjs_default_constructortgjs_zero_args_constructor(R-Rtzero_args_constructortdefault_constructortintrospectable_constructorsR((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pytresolve_gboxed_constructor\s$           cC`st|tjtjfr+|j|nt|tjr|jrt|jt|jkot|j kodknrt St|tj rt St|tj r|j dkrt St|jtjtjfrt Snt|tjr|jdkrt St|tjrt }|jr|jj|j}x`|r|jjdkr{|jdkr{t}Pn|jdkrPn|jj|j}qJWn|rt Sntt|j|S(NiuGObjectu ParamSpec(R RRRRt disguisedRFtmethodststatic_methodsRR[tErrorQuarkFunctionRRRRRRR RRWRRRRURR](R-Rtis_gparam_subclassR((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyR]ss:B!  cC`si dd6dd6dd6dd6dd 6d d 6d d 6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d!6d d"6d d#6d$d%6d&d'6d(d)6d*d+6d,d-6d.d/6d0d16d2d36d4d56d6d76d8d96d:d;6d<d=6}|j||S(>NuvoidunoneugpointeruBooleanugbooleanu Number(gint8)ugint8uNumber(guint8)uguint8uNumber(gint16)ugint16uNumber(guint16)uguint16uNumber(gint32)ugint32uNumber(guint32)uguint32u Number(gchar)ugcharuNumber(guchar)ugucharuNumber(gshort)ugshortu Number(gint)ugintu Number(guint)uguintuNumber(gfloat)ugfloatuNumber(gdouble)ugdoubleuStringuutf8ugunicharufilenameu GObject.TypeuGTypeu GLib.VariantuGVariantu Number(gsize)ugsizeuNumber(gssize)ugssizeuNumber(gintptr)ugintptruNumber(guintptr)uguintptru Number(glong)uglonguNumber(gulong)ugulonguNumber(gint64)ugint64uNumber(guint64)uguint64uNumber(long double)u long doubleuNumber(long long)u long longuNumber(unsigned long long)uunsigned long long(Re(R-R R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRsD cC`stt|tjr(|jjdkr(dSt|tjtjfr^d|j|j|dSt|tjrd|j|j||j|j |fS| s|jdkrdS|j dk r`|j }|dkrdS|d krd S|d krdS|r\|j j j}|j|dr4d||fS|j j|}|r\|j|Sn|S|j|jSdS(Nugint8uguint8u ByteArrayuArray(u)u{%s: %s}unoneuvoiduGLib.ByteArrayu GLib.Bytesu GObject.ValueuAnyuGObject.ClosureuFunctionu.u%s(ugint8uguint8(uGLib.ByteArrayu GLib.Bytes(R RRRRRRRRRRRRWRR RARRtR(R-R{Rtginametnsnametresolved((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRs6    cC`sr|j}|jr|j}n|jrAd|j|j|fS|jdk rjd|j|j|fS|SdS(Nu%s.prototype.%su%s.%s(R RR!RRR(R-RR ((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRs    cC`sRt|tjtjfr>d|j|j|j|fStj||SdS(Nu%s.%s(R RRRRRRR(R-R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRs#cC`s(t|jdkp'|jjjdkS(Niunone(RFRtretvalRR(R-R((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pythas_any_parametersscC`st}x|jD]}|jtjkr;|j|n|jdk rf|j|j|jn|j dk r|j|j|j nt |j tj r|j j dk r|j|j|j j qqWg}x-|jD]"}||kr|j|qqW|S(N(tsetRt directionRtPARAM_DIRECTION_OUTtaddt closure_nameRRt destroy_nameR RRtlength_param_nameR(R-Rtskiptparamtparams((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRs '# cC`st}x|jD]}|jtjkr;|j|n|jdk rf|j|j|jn|j dk r|j|j|j nt |j tj r|j j dk r|j|j|j j qqWg}|jj jdkrWd}|jj jdkrd}ntj||jj tj}|jj|_|j|nx-|jD]"}||kra|j|qaqaWt|dkrd|d_n|S(Nunoneu return_valueugbooleanuokiuReturnsi(RRRRtPARAM_DIRECTION_INRRRRRR RRRRRt ParameterRR_RRFR(R-RRRRR t ret_param((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pytget_out_parameterss2 '#   c`s,j|}djfd|DS(Nu, c3`s1|]'}d|jj|jtfVqdS(u%s: %sN(RRRR(R0tp(R-(ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pys #s(RRB(R-Rt in_params((R-ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pytformat_in_parameters!sc`swj|}t|dkr%dSt|dkrNj|djtSddjfd|DdSdS(Niuvoidiu[u, c3`s1|]'}d|jj|jtfVqdS(u%s: %sN(RRRR(R0R(R-(ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pys .su](RRFRRRRB(R-Rt out_params((R-ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pytformat_out_parameters&s cC`st|tjr|jdkr%tS|jr2tSt|jtjrKtS|jj dkrat S|j j |j}|rt|tj r|jjddkr|j|St|tjtjfrt SntSt SdS( Nunoneugpointeruutf8ufilenameuva_listiu*(Nunoneugpointeruutf8ufilenameuva_list(R RRRRR[tprivateRRRRRWRRRt_struct_is_simpleR#R$(R-RR((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyR1s$   ( cC`sM|jst|jdkr"tSx$|jD]}|j|s,tSq,WtS(Ni(RRFtfieldsR[RR(R-Rtf((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRGs c `s9|jjdkr%|jdkr%dS|j}|j}|dk }| rnt|tjrnj|}n|s|dkr t|tj rt j |j }d}x7|D]/}|d|jj|j|j|jf7}qW|rd|d}n|SdSn,j |}djfd |DSdS( NuGLibuVariantusignature: String, value: Anyuu+ %s: value u{ u}u, c3`s.|]$}d|jj|jfVqdS(u%s: %sN(RRR(R0R(R-(ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pys ms(RR RRRR RR RRRRRRRB( R-RRRt can_allocateRRRtconstruct_params((R-ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pytformat_gboxed_constructorPs*!    '(RRRSRRR}R!RR]RR[RRRRRRRRRRR(((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRIs*   " &        ucupythonugjst DocWritercB`s5eZdZdZdZdZdZRS(cC`sx||_yt|j}Wn$tk rCtd|fnX||j|_|jj|_|j|_ dS(NuUnsupported language: %s( RWt LANGUAGESRRmt SystemExitt _formatterRt _languaget_get_template_lookupt_lookup(R-RYRtformatter_class((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyR.xs  cC`s}dtjkr4tjd}tjj|d}ntjjt}tjj|d}td|gdtjddS(Nu UNINSTALLED_INTROSPECTION_SRCDIRu giscanneru doctemplatest directoriestmodule_directorytoutput_encodinguutf-8( tostenvirontpathRBtdirnamet__file__Rttempfiletmkdtemp(R-t top_srcdirtsrcdirt template_dir((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyR s  c`saytjWntk r$nXjjjgjjjfddS(Nc`sj||S(N(t _walk_node(Rtchain(toutputR-(ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRs(RtmakedirstOSErrorRRWRtwalk(R-R((RR-ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pytwrites  cC`st|tjr%|jdk r%tS|jj|r|j|||t|tj tj fr|j |x$|j D]}|j |||q|W|jntStS(N(R RRtmoved_toRR[R R]t _render_nodeRRRRRRDR(R-RRRR((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRs!  c C`s|jj}t||_t|}d|j|f}t|}|jj|}|j d|d|d|d|d|j dt } t j jt j j||d} t| d } | j| WdQXdS( Nu %s/%s.tmplRRtpage_idt page_kindt formatterRu.pageuwb(RWRRRR'R RR t get_templatetrenderR RRRRBtabspathtopenR!( R-RRRRR%t template_nameR$ttemplateR`toutput_file_nametfp((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyR#s       (RRRSR.R R!RR#(((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyRws  (t __future__RRRRRR>Rtxml.saxRt mako.lookupRtRRtutilsRR[RR'tobjectR(RTRVRRRRRR(((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyts4     "@N(