]Sc@sNddlZddlmZddlmZddlmZmZmZmZm Z m Z m Z m Z m Z mZmZmZmZmZddlmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*ddl+m,Z,de-fd YZ.dS( iNi(tast(tmessage(t TAG_VFUNCt TAG_SINCEtTAG_DEPRECATEDt TAG_RETURNStTAG_ATTRIBUTESt TAG_RENAME_TOtTAG_TYPEtTAG_UNREF_FUNCt TAG_REF_FUNCtTAG_SET_VALUE_FUNCtTAG_GET_VALUE_FUNCt TAG_VALUEt TAG_TRANSFERt TAG_STABILITY(tOPT_ALLOW_NONEt OPT_ARRAYt OPT_ATTRIBUTEtOPT_ELEMENT_TYPEtOPT_INt OPT_INOUTt OPT_INOUT_ALTtOPT_OUTt OPT_SCOPEtOPT_OUT_CALLER_ALLOCATEStOPT_OUT_CALLEE_ALLOCATEStOPT_TYPEt OPT_CLOSUREt OPT_DESTROYt OPT_TRANSFERtOPT_SKIPt OPT_FOREIGNtOPT_ARRAY_FIXED_SIZEtOPT_ARRAY_LENGTHtOPT_ARRAY_ZERO_TERMINATEDtOPT_CONSTRUCTORt OPT_METHODtOPT_TRANSFER_NONEtOPT_TRANSFER_FLOATING(tto_underscores_noprefixtMainTransformercBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d8d8d8d Zd8d8d8d ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"d Z#d!Z$d"Z%d#Z&d$Z'd%Z(d&Z)d'Z*d(Z+d)Z,d*Z-d+Z.d,Z/d-Z0d.Z1d/Z2d0Z3d1Z4d2Z5d3Z6d4Z7d5Z8d6Z9d7Z:RS(9cCs+||_||_|j|_i|_dS(N(t _transformert_blockst namespacet _namespacet_uscore_type_names(tselft transformertblocks((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt__init__+s   cCs|jjstjdn|jj|j|jj|j|jj|j|jj|j|jj|j |jj|jx|jj D]z}t |t j r|jdk r||j|j()])iiRtt)(tretsplittlentappend( ttype_strtresolvert top_combinertcombinertbitstfirsttseptresttargstlastseptnext(tgrab_one(s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRs4  csjj|}|S(N(R*tcreate_type_from_user_string(tidenttres(R/(s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRscs|s |St|tjrAt|dkrAtj|j|St|tjrrt|dkrrtj|Stjdf|S(Niis,Too many parameters in type specification %r(R<RtListRRCtMapRtwarn(tbaseR(R(s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRs$$ cs:dk r-ttjr-j|_n||S(N(R?R<RtTypetis_const(RR(Rt type_node(s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR ss,Trailing components in type specification %rs%s: Unknown type: %rt positions( RRtresolvedR?R<RRFRmt _get_positionRk( R/RRRNRaRRtresultRtpositionttext((RRR/RRs/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt_resolves"     cCs@|j|d|d|d|}|dk r<|j|_n|S(sJLike _resolve(), but attempt to preserve more attributes of original type.RRNRaN(RR?Ru(R/RRRNRaR((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt_resolve_toplevel5s! cCs|jj|j}|rt|tjrE|jj|j}n-t|tjrl|j jt }nd}|j r|j Sn|j S(N( R+RhRmR<RR]tparamsR^tReturnRgRR?R(R/tfuncRdRoR((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR>s  cCs|j}|j}|tjjkrv|tjkrB|tjks]t|tjtj frvt j d|j qvn|tjj kr|tjkrtj|_q|tjtjtjgkrt j d|j qndS(Ns9invalid (element-type) for a GPtrArray, must be a pointersNinvalid (element-type) for a GByteArray, must be one of guint8, gint8 or gchar(t array_typet element_typeRRt GLIB_PTRARRAYtBASIC_GIR_TYPESt POINTER_TYPESR<R~RRRRtGLIB_BYTEARRAYtTYPE_ANYt TYPE_UINT8t TYPE_INT8t TYPE_CHAR(R/tarrayRRR((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRMs    cCs%|jt}|r$|j}ni}|jt}|dk ri|j|j|j||}ngt|jt j r|jj }nC|jj }|j dk r|j jdr|j d |_ nt|jt j r|jj}nd}t j ||d|jj d|jj} t|krK|jtdk| _n t| _|jt} | dk r|j|| |} | r|j| } |j| _| jt jkrt j| _n| j| _qn|jt} | ryt| | _Wqt k rdSXn| |_dS(Nt*iRuRt1(!RhRtallRR?RtoneRR<RRRtcloneRutendswithRRR#tzeroterminatedRVR"RfR[t directiontPARAM_DIRECTION_OUTtPARAM_TRANSFER_FULLR{R^tlength_param_nameR!tinttsizeR\(R/RaRNRt array_optt array_valuesRtelement_type_nodeRtcontainer_typetlengtht paramnameRdtfixed((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRcsP       cCs|jt}|dkr2tjd|jdSt|jtj r|j dkr}tjd|j f|jdS|j |j |j|||j_ n3t|jtjrK|j dkrtjd|j f|jdS|j}|j |d|j|||j_|j |d|j|||j_nt|jtjr|j dkrtjd|j f|jdS|j |j |j|||j_ ntj|d|jfdS( Ns=element-type annotation takes at least one option, none givenisOelement-type annotation for a list must have exactly one option, not %d optionsisXelement-type annotation for a hash table must have exactly two options, not %d option(s)isQelement-type annotation for an array must have exactly one option, not %d optionss0Unknown container %r for element-type annotation(RhRR?RRRR<RRRRRRRRtflattkey_typet value_typeRRk(R/RaRNRtelement_type_optR((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRsL            cCs9|jtjtjgkr2|jr+tjStjStjS(N(RRtPARAM_DIRECTION_INOUTRtcaller_allocatestPARAM_TRANSFER_NONER(R/RaRN((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt_get_transfer_default_params   cCs^|jtjs-|js-|jtjr4tjS|jtjrMtjS|jrZdSdS(N( tis_equivRRRt TYPE_NONERt TYPE_STRINGRttarget_fundamentalR?(R/ttypeval((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt&_get_transfer_default_returntype_basics  cCs|jj|}|s*tt||jj|}|sHt||krXtS|jr|jjdkr|j|j|StS(NsGObject.Object( R*tlookup_typenodeRtstrRXt parent_typet target_ginamet_is_gi_subclassRV(R/Rt supercls_typetclstsupercls((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRs  c Cs|j}|j|}|r"|S|js/dS|jj|}t|tjrc|j|j St|tj st|tj tj fr|j dk s|jrtjSt|tjtjfrtjSt|tjr||jr|t|tjrKtjdd}|jj|}|rA|j||rAtjStjSqt|tj tj frmtjStdn)t|tjtj tj frdSdSdS(NRsGObject.InitiallyUnownedsInvalid constructor(RRRR?R*RR<RRRqtBoxedRARBRtforeignRR~RRRFtis_constructorRHRRR(R/RaRNRtbasicRqtinitially_unowned_typetinitially_unowned((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt_get_transfer_default_returns8   !cCs|jjtjs*t|jtjr1tjSt|tjrS|j||St|tj ru|j ||St|tj rtjSt|tj rtjSt |dS(N(RRRRR<tVarargsRR]RRRtFieldtPropertyR(R/RaRN((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR|s*c Cst|di}|jt}|rN|j|j|j|||_nt}d}t|ksrt |kr~t j }nt |kry|t }|dk r|j}nt j }|dkrL|jjrC|jjrC|jj|jj} |jj| } d|jjk} t| t jt jf} | o=| }qvt}q|tkrat}q|tkrt}qnt|krt j}n|dk r||jkr||_||_|j|||_n|jt} | r*| j dkr*| j} | t!krt"} n| |_n|j#|||t$|ksm|jjdksm|jjdkryt|_%n|dk r|j&dk r|j&|_'nt(|krt|_)n|rx0|j*t+D]}|j,j-|j.qWndS(NRRs**isGio.AsyncReadyCallbacksGio.Cancellable(NR(/tgetattrRhRRRRRVR?RRRRRRRRuR*t lookup_ginametresolve_aliasesR<RARBRRXRRtPARAM_DIRECTION_INRRR|R{RRR'R&RRt allow_noneRRRtskiptgetallRt attributesRR(R/RaRNRRt param_typeRtannotated_directiontsubtypeRqthas_double_indirectiontis_structure_or_uniont transfer_tagR{t attribute((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt#_apply_annotations_param_ret_commonsd                       c Cs/|dkrdS|jr"|jnd|_|jjt}|dk rX|j|_n|jjt}|dk r|j}d|kr|j d}|| }||d}n |}d}||_ |dk r||_ qn|jjt } | dk rG| jj } | d kr*| |_qGtjd| j| jn|jjt} | dk rxE| jjD]1\} }|ru|jj| |jfququWnt|jkrt|_nt|jkrt|_nt|jkrt|tj rt|_!nt"|jkr+t|_#ndS( NRs: itStabletUnstabletPrivatetInternals$unknown value "%s" for Stability tag(RRRR($R?RRRgRhRRitversionRtfindt deprecatedtdeprecated_versionRt capitalizet stabilityRRRRRtitemsRRRRRXRR RR$R<RRFRR%t is_method( R/RNRot since_tagtdeprecated_tagRitcolonRtdesct stability_tagR#t annos_tagtkey((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRwRsL             &  ! cCs#|j|}|j||dS(N(RRw(R/RNRYRo((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRsc Cs||r|j}ni}t|tjtjfr5|jt}|rx|jdkrx|j|_ tj |_ n|jt }|r|j ||j||_|jdk rtj|_ |j|j}tj|_ qn|jt}|re|jdkre|j ||j||_qen0t|tjret|kre|j|_qen|j|||dS(Ni(RR<RRFt VFunctionRhRRRtscopeRR{RRft destroy_nameR?tPARAM_SCOPE_NOTIFIEDR[Rt closure_nameRUR^R( R/RaRdRRR.tdestroyt destroy_paramtclosure((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt_apply_annotations_params4        cCs8|r|jjt}nd}|j|||dS(N(RgRhRR?R(R/Ratreturn_RoR((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt_apply_annotations_returnsc Cstg}|jr+|j|jjnxU|D]M}|rV|jj|j}nd}|j||||j|jq2W|sdSt|j}||}||} x|D]} | jddt gkrqnt | dkrd} nKt | dkr$| \}d|f} n ddj d | Df} |jj| }t j d |j| | f|jqWdS( Ns...tvarargsiRis, should be %rs, should be one of %ss, css|]}t|VqdS(N(trepr(t.0tp((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pys ss3%s: unknown parameter %r in documentation comment%s(tsettinstance_parametertaddR^RRhR?R5RDRRtjoinRRRCR( R/RaRRot declparamsRdRt docparamstunknowntunusedtdoc_nameR((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt_apply_annotations_paramss8         cCs@|j|||j||j||j||j|dS(N(RwRERzR7R}(R/RNRYRo((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRsscCs~|dkrdSxg|jjD]V}|tkr8q nx;|D]}|j|kr?Pq?q?Wtjd|j|fq WdS(Ns3Annotation for '%s' refers to unknown argument '%s'(R?RgtkeysRR^RRRC(R/RaRRoRRd((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt_check_arg_annotationss   cCs|s dS|jj|j}|s)dS|jjt}|r_|jj|j|_ny|j |||jWnt k rnXdS(N( RRhRCRRR*RRRRtAttributeError(R/RaRoRZRtt((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRs cCs|j|}|jjd||jf}|j|||sHdS|jjt}|dk r|j}|t krt }n||_ n|j |||_ |jjt }|r|j|j|j|||_ndS(Ns%s:%s(RR+RhRCRwRgRR?RiR'R&R{R|RRR(R/RaRtprefixRoRR{ttype_tag((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRs     c Csg}|j|}|jjd||jf}|r|j||t|jt|jkr|jj}xbt |jD]#\}}||d\|_ }qWqt|jdkrt j d|j qnxt |jD]\}}|rf||d\} }t|di} | jt} | rl|j| j|j|||_qlnd}|j|||qW|j||j|dS(Ns%s::%siisWincorrect number of parameters in comment block, parameter annotations will be ignored.R(RR+RhRCRwRRRzR$t enumerateR^RRRR RRRRR?R5R7R}( R/RatsignalR3RJRotiRdRRCRR((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRs. cCsZ|j|}|dkrdS|j|||jjt}|rV|j|_ndS(N(RR?RwRgRhR Ri(R/RNRoR((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR3s cCs[|dkrdSxD|jD]9}|jj|jd}|dk r|j|_qqWdS(N(R?tmembersRRhRmRR(R/RNRotmR((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR>s   c Cst|tjr|jj|j}|j||||rJ|dnd}|r|r|jjt }|r|j }t }xL|j D]A}|j |krt}|j |_|j||g|PqqW|stj|d|t fqqqntS(Nis+Virtual slot %r not found for %r annotation(R<RRFR+RhRmRrR?RgRRiRVtvirtual_methodsRCRXtinvokerRsRRk( R/RNRYRoRatvirtual_annotationt invoker_nametmatchedtvfunc((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRKGs(    cCsIt|}x6|D].}|jj|}|s|j|qqW|S(shGiven a list of Type instances, return a new list of types with the ones that failed to resolve removed.(RER*t resolve_typetremove(R/ttypelistt new_typelistRR((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt_resolve_and_filter_type_listas   c Cset|tjr(|jj|jnt|tjrzx$|jD]}|jj|jqDW|jj|j jnt|tj r|jj|j nt|tj tj tjtjfrx3|jD]%}|jrq|jj|jqWnt|tj tj fr x|jD]V}y|jj|Wntk rTq$nX|jj|}|r$||_Pq$q$Wt|tj rtjdd|_nx$|jD]}|jj|jqWx;|jD]-}x$|jD]} |jj| jqWqWnt|tj r7|j|j|_nt|tj ra|j|j|_ntS(NRsGObject.Object(R<RRR*RWRqRxRzRR}RRRHRIRARBRRRTt parent_chainR\RRRRRR[t interfacest prerequisitesRX( R/RNRYt parameterRZRaRqRRRd((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR7lsF'   cCsxi}x[|jjD]J}t|tjs4qnt|jj}|||<|||j (ast.Class(TextBuffer), 'try_new')iiRQiN(R?RXtrsplitRR.RhR?(R/RORNtcounttprev_split_countt componentst type_string((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt_split_uscored_by_types   cCs|jjds|jr"dS|jj|j\}}||jksRt|j||rx|j||dS|j ||r|j ||dS|j ||rdSdS(sXCheck to see whether a toplevel function should be a method or constructor of some type.RQN( RmRStis_type_meta_functionR*ReR-Rt_is_constructort_set_up_constructort _is_methodt _setup_methodt_pair_static_method(R/RRjt subsymbol((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRGscCs|j}t|jS(s;Given a Type(target_giname='Foo.BarBaz'), return 'bar_baz'.(t get_ginameR(RD(R/RRC((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt_uscored_identifier_for_types cCs|js3|jr/tj|d|jfntS|jd}|jj|j}t |t j t j t j t jt jfs|jrtj|d|jfntS|j|jkr|jrtj|d|jfntS|jt jkr$|jr tj|d|jfntS|jjdk rU|jjjddkrUtS|js|j||}|j|stSntS(Ns %s: Methods must have parametersis8%s: Methods must have a pointer as their first parametersI%s: Methods must belong to the same namespace as the class they belong tos;%s: The first argument of methods cannot be an out-argumentRi(RzR%RRkRmRVR*RRR<RRHRIRARBRR,R-RRRuR?Rmt_get_uscored_prefixRSRX(R/RRxRRqtuscored_prefix((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRusD           - cCs|j||}|jj|jdj}|jjd|_|jj||j s|j j |}|j |t |d|_ t|_ n|jj|dS(Nii(R{R*RRzRtpopR=R-tfloatR%RmRRRCRXtmethodsR(R/RRxR|Rqt subsym_idx((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRv s  cCst}d}|jd}|jj|j}t|drs|jdk rs|j|j}|rs|j}qsn|s|j |j}n|S(NiR@( RVR?RzR*RRthasattrR@RSRz(R/RRxtprefix_matchesR|t first_argRq((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR{s cCs|j|}|dkrtS|\}}|dkr;tSt|tjrz|jj|||_|j j |t St|tj tj tjtjtjtjfr|j}||_|j j ||jd|j|_t StS(NRt.(RqR?RVR<RRHR-R~RCtstatic_methodsRRXRIRARBRR~RRtmoved_to(R/RRxRRNtfuncnametnew_func((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRw,s&      cCs~|jj||j|||_|j||}|jj|t|_|j j sz|j ||j |j _ ndS(N( R-R~t_get_constructor_nameRCt_get_constructor_classt constructorsRRXRR}R{R(R/RRxt origin_node((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRtOs   cCsXd}|j|}|dkrH|jrT|jj|jj}qTn |\}}|S(N(R?RqRR*RR}R(R/RRxRRRQ((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR^s   cCsId}|j|}|dkr9|jrE|j}qEn |\}}|S(N(R?RqRRC(R/RRxRCRRQ((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRis   cCs:|jdrtSd|kr#tS|jdr6tStS(Nt_newt_new_t_newv(RRXRV(R/Rm((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyt_guess_constructor_by_namets cCs|js"|j|js"tSn|jj|jj}t|t j pt|t j t j t j fo|jdk p|js|jrtj|d|jfntS|j||}|dkr|jrtj|d|jfntSt|t j p?t|t j t j t j fo?|jdk p?|jsFtS|j|jkr|jr~tj|d|jfntS|j rt|jdkr|jj|jdj}|dk r|j|jkrtSnt|t j r|}x|r|jdk r||kr#Pn|jrD|jj|j}nd}|dkrtj|d|jt|jt|jjftSqWnH||krtj|d|jt|jt|jjftStS(Ns7%s: Constructors must return an instance of their classs3Can't find matching type for constructor; symbol=%rsN%s: Constructors must belong to the same namespace as the class they belong toisGObject.ObjectsRReturn value is not superclass for constructor; symbol=%r constructed=%r return=%rsCConstructor return type mismatch symbol=%r constructed=%r return=%r(RRRmRVR*RR}RR<RRHRARBRR>R?RRRkRR,R-RRztgi_nameRRt create_typeRX(R/RRxRqRRRa((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRssp !    !         cCse|js dS|j}|jj|j}x/|jD]$}t|tjr8t|_ q8q8Wx|jD]}t|j tj sqjn|j }t |j dkrqjn|j dj}||krqjntjj|}|j d|_|j||j|}|jjd||jf} |j||g| |jj|qjWx|jD]}x|jD]} | j|jkrqrn| jj|jjkrqrnt | j t |j krqrnxOtt | j D]8} | j | j} |j | j} | | krqqqW| j|_|jj| j} |j|g| PqrWqbWdS(s2Look for virtual methods from the class structure.Nis%s::%s(tglib_type_structRR*RRRR<RRRVtwritableRTRURRzRR-t from_callbackR=tinherit_file_positionsRR+RhRCRsRQRRR}txrangeRRRm(R/RNt node_typet class_structRZtcallbacktfirstparam_typeRVRJRotmethodRNtm_typetv_type((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRJsP        cCs3t|tjr/|j||j|ntS(sKPass 3 is after we've loaded GType data and performed type closure.(R<RRxt_pass3_callable_callbackst_pass3_callable_throwsRX(R/RNRY((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyRLs cCsd|j}xe|D]]}|jj|j}t|tjr|jjdkrmtj|_ tj |_ qmqqWd}x|D]}|jj|j}t }t|tjr|jjdkrt}q|}q~n|dkrq~n|r|j|_tj|_ tj |_ q~|jjtjr~|jdk r~|jjdr~|j|_q~q~WdS(saCheck to see if we have anything that looks like a callback+user_data+GDestroyNotify set.sGio.AsyncReadyCallbacksGLib.DestroyNotifytdataN(sGio.AsyncReadyCallbacksGLib.DestroyNotify(RzR*RRR<RRURtPARAM_SCOPE_ASYNCR.RR{R?RVRXR^R/R0RRRR1(R/RNRRdtargnodetcallback_paramtis_destroynotify((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR s6          cCsI|js dS|jd}|jjdkrE|jjt|_ndS(saCheck to see if we have anything that looks like a callback+user_data+GDestroyNotify set.NisGError**(RzRRuR}RXtthrows(R/RNt last_param((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR-s    N(;t__name__t __module__R2RPR6RfRrRtR8R9RRR:RR?RRRRRRRRRRR|RRwRR5R7RERsRGRRRRRRKR[R7RMRqRGRzRuRvR{RwRtRRRRsRJRLRR(((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyR))sp  8     + 6   4 +  #  ? 3  &  %     $  ' !    )   #  F ;  $(/RRRRtannotationparserRRRRRRRR R R R R RRRRRRRRRRRRRRRRRRR R!R"R#R$R%R&R'tutilsR(tobjectR)(((s/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyts ^