ó ‡ÎÊZc@`sŠddlmZddlmZddlmZddlmZddlmZddlmZddlm Z d e fd „ƒYZ d S( i(tabsolute_import(tdivision(tprint_function(tunicode_literalsi(tast(tmessage(t TAG_RETURNStIntrospectablePasscB`szeZd„Zd„Zd d„Zd„Zed„Zd„Z d„Z d„Z d„Z d „Z d „Zd „ZRS( cC`s"||_|j|_||_dS(N(t _transformert namespacet _namespacet_blocks(tselft transformertblocks((sv/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyt__init__s  cC`s‰|jj|jƒ|jj|jƒ|jj|jƒ|jj|jƒ|jj|jƒ|jj|jƒ|jj|jƒdS(N(R twalkt_introspectable_alias_analysist_propagate_callable_skipst _analyze_nodet!_introspectable_callable_analysist_introspectable_pass3t'_remove_non_reachable_backcompat_copies(R ((sv/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pytvalidate&sc C`sît|tjtjfƒrdSd}t|dƒrnd|jf}|jj|jƒ}|rt|j }qtnd}t|tj ƒr™d|j f}n3d}|rÌ|j jt ƒ}|rÌ|j }qÌntj||||d|ƒdS(Nusymbolu%s: uu argument %s: ureturn value: t positions(t isinstanceRt VFunctiontCallbacktNonethasattrtsymbolR tgettpositiont ParametertargnamettagsRRt warn_node( R tparenttparamttextR tblocktprefixtcontextt return_tag((sv/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyt_parameter_warning/s$cC`sdt|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 ||dtjtjfƒt|_dS|rÂt|tjƒrÂ|j ||dƒt|_dS|r1t|tjtjfƒr1|jdkr1|j r1|jtjkr-|j ||dƒt|_ndS|jdkr`|j ||dƒt|_dSdS( NuUnresolved type: %ru!Missing (element-type) annotationuGLib.DestroyNotifyuGio.AsyncReadyCallbackuNMissing (scope) annotation for callback without GDestroyNotify (valid: %s, %s)u-Callbacks cannot be return values; use (skip)uXInvalid non-constant return of bare structure or union; register as boxed type or (skip)uMissing (transfer) annotation(uGLib.DestroyNotifyuGio.AsyncReadyCallback(RRtReturnR!tAssertionErrorttypet target_ginameRRtlookup_typenodetskiptresolvedR,tunresolved_stringtFalsetintrospectabletVarargstListtArrayt element_typetTYPE_ANYRtscopetPARAM_SCOPE_CALLtPARAM_SCOPE_ASYNCtRecordtUniontget_typetforeignttransfertPARAM_TRANSFER_NONE(R R%tnodet is_returnt is_parameterttarget((sv/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyt_introspectable_param_analysisHsd           cC`s|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 Sn|jj|ƒ}|sötS|jo|j S(N(R3R5RRt TypeUnknownR9R8t_type_is_introspectableR:tMaptkey_typet value_typettarget_foreigntTruettarget_fundamentaltis_equivt TYPE_VALISTtTYPE_LONG_LONGtTYPE_LONG_ULONGtTYPE_LONG_DOUBLERR1R6R2(R ttypevaltwarnRH((sv/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyRKˆs*   !cC`sW|jjdk r:|jj|jƒ}|dkr>dSndS|jrSt|_ndS(N(R/R0RRR1R2RP(R R%RERH((sv/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyt_propagate_parameter_skip£s  cC`s7t|tjƒr3|j|jƒs3t|_q3ntS(N(RRtAliasRKRHR5R6RP(R tobjtstack((sv/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyR®scC`sPt|tjƒrLx!|jD]}|j||ƒqW|j||jƒntS(N(RRtCallablet parametersRYtretvalRP(R R[R\R&((sv/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyR´s cC`sÅ|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(R2R5RRR]R^RIR_tClasst InterfaceR?R@tfieldsR/RKR6RP(R R[R\R&tfield((sv/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyR»s ' cC`s{|jr tSt|tjƒrwx0|jD]%}|j|jƒs)t|_t Sq)W|j|j jƒswt|_t Snt S(N( R2R5RRR]R^RKR/R6RPR_(R R[R\R&((sv/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyRÊs   cC`s|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(R2R5RRR`RaR?R@Rbtanonymous_nodeR6RKR/t propertiestsignalsRRP(R R[R\Rctproptsig((sv/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyRØs  '  cC`sJ|jr tSt|tjƒrF|jdk rF|jsFt|_ qFntS(N( R2R5RRtFunctiontmoved_toRR6RPtinternal_skipped(R R[R\((sv/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyRís  ! N(t__name__t __module__RRRR,RIR5RKRYRRRRRR(((sv/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyRs   @      N( t __future__RRRRtRRtannotationparserRtobjectR(((sv/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyts