σ wιZc @ΰs5ddlmZddlmZddlmZddlmZddlmZddlZddlZddlZddl m Z dd l m Z dd l mZe ddƒ7d ejkrΦdd lmZndd lmZWdQXd ddgZddddgZeeZedƒ\ ZZZZZZZZ Z!Z"edƒ\ Z#Z$Z%Z&Z'Z(Z)Z*Z+Z,dZ-d"Z.d#Z/d$Z0d%Z1d&Z2d'Z3dZ4d(Z5d)Z6d*Z7d+Z8dZ9d,Z:edƒ\Z;Z<Z=Z>Z?Z@d„ZAd„ZBdeCfd„ƒYZDdeCfd„ƒYZEd eCfd!„ƒYZdS(-i(twith_statement(tabsolute_import(tdivision(tprint_function(tunicode_literalsNi(tLibtoolImporter(tPosition(t CCompileru UNINSTALLED_INTROSPECTION_SRCDIR(t SourceScanneru.hu.hppu.hxxu.cu.cppu.ccu.cxxi iiiiicCΰsSi dt6dt6dt6dt6dt6dt6dt6dt6d t6d t 6j |ƒS( Nuinvaliduellipsisuconstuobjectufunctionustructuunionuenumutypedefumember( tCSYMBOL_TYPE_INVALIDtCSYMBOL_TYPE_ELLIPSIStCSYMBOL_TYPE_CONSTtCSYMBOL_TYPE_OBJECTtCSYMBOL_TYPE_FUNCTIONtCSYMBOL_TYPE_STRUCTtCSYMBOL_TYPE_UNIONtCSYMBOL_TYPE_ENUMtCSYMBOL_TYPE_TYPEDEFtCSYMBOL_TYPE_MEMBERtget(t symbol_type((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pytsymbol_type_name\scCΰsSi dt6dt6dt6dt6dt6dt6dt6dt6d t6d t 6j |ƒS( Nuinvaliduvoidubasicutypedefustructuunionuenumupointeruarrayufunction( t CTYPE_INVALIDt CTYPE_VOIDtCTYPE_BASIC_TYPEt CTYPE_TYPEDEFt CTYPE_STRUCTt CTYPE_UNIONt CTYPE_ENUMt CTYPE_POINTERt CTYPE_ARRAYtCTYPE_FUNCTIONR(tctype((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyt ctype_namejst SourceTypecBΰsŒeZddddddgZd„Zd„Zed„ƒZed „ƒZed „ƒZed „ƒZ ed „ƒZ ed „ƒZ RS(utypeu base_typeunameutype_qualifieru child_listu is_bitfieldcCΰs||_||_dS(N(t_scannert_stype(tselftscannertstype((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyt__init__|s cCΰs#d|jjt|jƒ|jfS(Nu<%s type='%s' name='%s'>(t __class__t__name__R!ttypetname(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyt__repr__€s  cCΰs |jjS(N(R$R+(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR+†scCΰs,|jjdk r(t|j|jjƒSdS(N(R$t base_typetNoneR"R#(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR.ŠscCΰs |jjS(N(R$R,(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR,scCΰs |jjS(N(R$ttype_qualifier(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR0“sccΰs>x7|jjD])}|dkr%q nt|j|ƒVq WdS(N(R$t child_listR/t SourceSymbolR#(R%tsymbol((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR1—s cCΰs |jjS(N(R$t is_bitfield(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR4žs( R*t __module__t __members__R(R-tpropertyR+R.R,R0R1R4(((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR"xs    R2cBΰsΪeZdddddddgZd„Zd„Zed „ƒZed „ƒZed „ƒZed „ƒZ ed „ƒZ ed„ƒZ ed„ƒZ ed„ƒZ ed„ƒZed„ƒZed„ƒZRS(u const_intu const_doubleu const_stringu const_booleanuidentutypeu base_typecCΰs||_||_dS(N(R#t_symbol(R%R&R3((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR(§s cCΰs[|j}|r5|j}|r5|d|f7}q5nd|jjt|jƒ|j|fS(Nu:'%s'u"<%s type='%s' ident='%s' src='%s'>(tsource_filenametlineR)R*RR+tident(R%tsrcR:((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR-«s    cCΰs |jjS(N(R8t const_int(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR=·scCΰs |jjS(N(R8t const_double(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR>»scCΰs |jjS(N(R8t const_string(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR?ΏscCΰs |jjS(N(R8t const_boolean(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR@ΓscCΰs |jjS(N(R8R;(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR;ΗscCΰs |jjS(N(R8R+(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR+ΛscCΰs,|jjdk r(t|j|jjƒSdS(N(R8R.R/R"R#(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR.ΟscCΰs |jjS(N(R8R9(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR9ΤscCΰs |jjS(N(R8R:(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR:ΨscCΰs |jjS(N(R8tprivate(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyRAάscCΰst|jj|jjƒS(N(RR8R9R:(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pytpositionΰs (R*R5R6R(R-R7R=R>R?R@R;R+R.R9R:RARB(((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR2£s   RcBΰs\eZd„Zgd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z RS( cCΰs"tƒ|_g|_g|_dS(N(tCSourceScannerR#t _filenamest _cpp_options(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR(θs  c Cΰs¨|jj|ƒx‘dg|D]}tjj|ƒ^qfd|fd|fgD]O\}}x@|pigD]2}||} | |jkrj|jj| ƒqjqjWqQWdS(Nu-Iu-Du-U(REtextendtostpathtrealpathtappend( R%tincludestdefinest undefinestcflagstftprefixtargstargtopt((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pytset_cpp_optionsοs+  cCΰsͺx@|D]8}tjj|ƒ}|jj|ƒ|jj|ƒqWg}xM|jD]B}tjj|ƒdtkrˆ|jj |ƒqS|j|ƒqSW|j |ƒdS(Ni( RGRHRIR#tappend_filenameRDRJtsplitextt SOURCE_EXTSt lex_filenamet_parse(R%t filenamestfilenametheaders((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyt parse_filesωs cCΰsS|jjtƒ|jjg|D]}tjj|ƒ^q ƒ|jjtƒdS(N(R#tset_macro_scantTruet parse_macrosRGRHRItFalse(R%RZRO((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR` s/ccΰs/x(|jjƒD]}t|j|ƒVqWdS(N(R#t get_symbolsR2(R%R3((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyRbscCΰs |jjƒS(N(R#t get_comments(R%((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyRcscCΰsHtddƒx3|jjƒD]"}t|j|jj|jƒqWdS(Nu-i(tprintR#RbR;R.R,R+(R%R3((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pytdumpsc Cΰs |s dSdg}g}tƒ}tjdddddtjƒƒ\}}tj|dƒ}|j||||ƒWdQXtjjtjj |ƒdƒ}|d } |j || |j ƒtj |ƒt | d ƒ} |jj| jƒƒ| jƒtj | ƒdS( Nu__GI_SCANNER__RPu g-ir-cpp-tsuffixu.ctdiruwbiu.iur(RttempfiletmkstempRGtgetcwdtfdopent_write_preprocess_srcRHtbasenameRVt preprocessREtunlinktopenR#t parse_filetfilenotclose( R%RZRLtundefstcct tmp_fd_cppt tmp_name_cpptfp_cppttmpfile_basenamettmpfile_outputtfp((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyRYs(  "     cCΰs²xU|D]M}|jd|fjƒƒ|jd|fjƒƒ|jdjƒƒqWx(|D] }|jd|fjƒƒq_Wx(|D] }|jd|fjƒƒqŠWdS(Nu #ifndef %s u # define %s u#endif u #undef %s u#include <%s> (twritetencode(R%R{RLRtRZtdefinetundefR[((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyRl=s   ( R*R5R(RTR]R`RbRcReRYRl(((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyRζs       iiiii i@iiiii(Ft __future__RRRRRRGt subprocessRhtlibtoolimporterRtmessageRt ccompilerRR/tenviront _giscannerRRCtgiscanner._giscannert HEADER_EXTSRWtALL_EXTStrangeR R R R R RRRRRRRRRRRRRRRtSTORAGE_CLASS_NONEtSTORAGE_CLASS_TYPEDEFtSTORAGE_CLASS_EXTERNtSTORAGE_CLASS_STATICtSTORAGE_CLASS_AUTOtSTORAGE_CLASS_REGISTERtSTORAGE_CLASS_THREAD_LOCALtTYPE_QUALIFIER_NONEtTYPE_QUALIFIER_CONSTtTYPE_QUALIFIER_RESTRICTtTYPE_QUALIFIER_VOLATILEtTYPE_QUALIFIER_EXTENSIONt FUNCTION_NONEtFUNCTION_INLINEtUNARY_ADDRESS_OFtUNARY_POINTER_INDIRECTIONt UNARY_PLUSt UNARY_MINUStUNARY_BITWISE_COMPLEMENTtUNARY_LOGICAL_NEGATIONRR!tobjectR"R2(((sq/home/vagrant/ruby-gnome2/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pytsN    * *  +C