ó ú†Á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`sRt|tjƒ}t|tjƒ}|jjdk rN|jj|jƒ}nd}|j radS|jj sš|j ||d|jj fƒt |_dSt|jtjƒr¼t |_dSt|jtjtjfƒr|jjtjkr|j ||dƒt |_dS|rxt|tjƒrx|jjd krx|jdkrx|j ||dtjtjfƒt |_dS|r°t|tjƒr°|j ||dƒt |_dS|rt|tjtjfƒr|jdkr|j r|jtjkr|j ||dƒt |_ndS|jdkrN|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!ttypet 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_analysisHsb           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(R2R4RRt TypeUnknownR8R7t_type_is_introspectableR9tMaptkey_typet value_typettarget_foreigntTruettarget_fundamentaltis_equivt TYPE_VALISTtTYPE_LONG_LONGtTYPE_LONG_ULONGtTYPE_LONG_DOUBLERR0R5R1(R ttypevaltwarnRG((sv/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyRJˆs*   !cC`sW|jjdk r:|jj|jƒ}|dkr>dSndS|jrSt|_ndS(N(R.R/RRR0R1RO(R R%RDRG((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(RRtAliasRJRGR4R5RO(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 parametersRXtretvalRO(R RZR[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(R1R4RRR\R]RHR^tClasst InterfaceR>R?tfieldsR.RJR5RO(R RZR[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( R1R4RRR\R]RJR.R5ROR^(R RZR[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(R1R4RRR_R`R>R?Ratanonymous_nodeR5RJR.t propertiestsignalsRRO(R RZR[Rbtproptsig((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( R1R4RRtFunctiontmoved_toRR5ROtinternal_skipped(R RZR[((sv/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyRís  ! N(t__name__t __module__RRRR,RHR4RJRXRRRRRR(((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