ó   Qc@sJddlmZddlmZddlmZdefd„ƒYZdS(i(tast(tmessage(t TAG_RETURNStIntrospectablePasscBszeZd„Zd„Zd d„Zd„Zed„Zd„Z d„Z d„Z d„Z d „Z d „Zd „ZRS( cCs"||_|j|_||_dS(N(t _transformert namespacet _namespacet_blocks(tselft transformertblocks((s‚/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyt__init__s  cCs‰|jj|jƒ|jj|jƒ|jj|jƒ|jj|jƒ|jj|jƒ|jj|jƒ|jj|jƒdS(N(Rtwalkt_introspectable_alias_analysist_propagate_callable_skipst _analyze_nodet!_introspectable_callable_analysist_introspectable_pass3t'_remove_non_reachable_backcompat_copies(R((s‚/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pytvalidate!sc Csët|tjtjfƒrdSd}t|dƒrnd|jf}|jj|jƒ}|rt|j }qtnd}t|tj ƒr™d|j f}n0d}|rÉ|j t ƒ}|rÉ|j }qÉntj||||d|ƒdS(Ntsymbols%s: ts argument %s: sreturn value: t positions(t isinstanceRt VFunctiontCallbacktNonethasattrRRtgettpositiont Parametertargnametget_tagRRt warn_node( RtparenttparamttextRtblocktprefixtcontextt return_tag((s‚/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyt_parameter_warning*s$c Csht|tjƒ}t|tjƒ}|s6|s6t‚|jjdk r`|jj |jƒ}nd}|j rsdS|jj s¬|j ||d|jj fƒt|_dSt|jtjƒrÎt|_dSt|jtjtjfƒr!|jjtjkr!|j ||dƒt|_dS|rŽt|tjƒrŽ|jjd krŽ|jdkrŽ|j ||ddtjtjfƒt|_dS|rÆt|tjƒrÆ|j ||dƒt|_dS|r5t|tjtjfƒr5|jdkr5|j r5|jtjkr1|j ||dƒt|_ndS|jdkrd|j ||d ƒt|_dSdS( NsUnresolved type: %rs!Missing (element-type) annotationsGLib.DestroyNotifysGio.AsyncReadyCallbacks'Missing (scope) annotation for callbacks' without GDestroyNotify (valid: %s, %s)s-Callbacks cannot be return values; use (skip)sXInvalid non-constant return of bare structure or union; register as boxed type or (skip)sMissing (transfer) annotation(sGLib.DestroyNotifysGio.AsyncReadyCallback(RRtReturnRtAssertionErrorttypet target_ginameRRtlookup_typenodetskiptresolvedR)tunresolved_stringtFalsetintrospectabletVarargstListtArrayt element_typetTYPE_ANYRtscopetPARAM_SCOPE_CALLtPARAM_SCOPE_ASYNCtRecordtUniontget_typetforeignttransfertPARAM_TRANSFER_NONE(RR"tnodet is_returnt is_parameterttarget((s‚/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyt_introspectable_param_analysisCsb               cCs|js tSt|tjƒr#tSt|tjtjfƒrN|j|jƒSt|tj ƒr‚|j|j ƒo|j|j ƒS|j rt S|jr×|jtjƒr®tS|jtjtjtjfƒrÓtSt S|jj|ƒ}|sótS|jo|j S(N(R0R2RRt TypeUnknownR6R5t_type_is_introspectableR7tMaptkey_typet value_typettarget_foreigntTruettarget_fundamentaltis_equivt TYPE_VALISTtTYPE_LONG_LONGtTYPE_LONG_ULONGtTYPE_LONG_DOUBLERR.R3R/(RttypevaltwarnRE((s‚/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyRH€s,   cCsW|jjdk r:|jj|jƒ}|dkr>dSndS|jrSt|_ndS(N(R,R-RRR.R/RM(RR"RBRE((s‚/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyt_propagate_parameter_skip›s  cCs7t|tjƒr3|j|jƒs3t|_q3ntS(N(RRtAliasRHRER2R3RM(Rtobjtstack((s‚/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyR ¦scCsPt|tjƒrLx!|jD]}|j||ƒqW|j||jƒntS(N(RRtCallablet parametersRVtretvalRM(RRXRYR#((s‚/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyR¬s cCsÅ|jr tSt|tjƒrYx!|jD]}|j||ƒq)W|j||jƒnt|tjtj tj tj fƒrÁx>|j D]0}|j rŠ|j|j ƒsºt|_qºqŠqŠWntS(N(R/R2RRRZR[RFR\tClasst InterfaceR<R=tfieldsR,RHR3RM(RRXRYR#tfield((s‚/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyR³s ' cCs{|jr tSt|tjƒrwx0|jD]%}|j|jƒs)t|_t Sq)W|j|j jƒswt|_t Snt S(N( R/R2RRRZR[RHR,R3RMR\(RRXRYR#((s‚/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyRÂs   cCs|jr tSt|tjtjtjtjfƒrxV|jD]H}|j rh|j j s†t|_ q†q>|j |j ƒs>t|_ q>q>Wnt|tjtjfƒrx/|j D]$}|j |j ƒs²t|_ q²q²Wx'|jD]}|j||gƒqäWntS(N(R/R2RRR]R^R<R=R_tanonymous_nodeR3RHR,t propertiestsignalsRRM(RRXRYR`tproptsig((s‚/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyRÐs  '  cCsJ|jr tSt|tjƒrF|jdk rF|jsFt|_ qFntS(N( R/R2RRtFunctiontmoved_toRR3RMtinternal_skipped(RRXRY((s‚/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyRås  ! N(t__name__t __module__R RRR)RFR2RHRVR RRRRR(((s‚/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyRs   =      N(RRRtannotationparserRtobjectR(((s‚/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyts