σ ξŠXc @ΰs/ddlmZddlmZddlmZddlmZddlmZddlZddlZddlZddl 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&Z2dZ3d'Z4d(Z5d)Z6d*Z7dZ8d+Z9edƒ\Z:Z;Z<Z=Z>Z?d„Z@d„ZAdeBfd„ƒYZCdeBfd„ƒYZDd eBfd!„ƒ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((sw/home/vagrant/ruby-gnome2.win64/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((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyt ctype_nameist 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((sw/home/vagrant/ruby-gnome2.win64/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%((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyt__repr__s  cCΰs |jjS(N(R$R+(R%((sw/home/vagrant/ruby-gnome2.win64/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%((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR.‰scCΰs |jjS(N(R$R,(R%((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR,ŽscCΰs |jjS(N(R$ttype_qualifier(R%((sw/home/vagrant/ruby-gnome2.win64/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((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR1–s cCΰs |jjS(N(R$t is_bitfield(R%((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR4s( R*t __module__t __members__R(R-tpropertyR+R.R,R0R1R4(((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR"ws    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((sw/home/vagrant/ruby-gnome2.win64/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:((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR-ͺs    cCΰs |jjS(N(R8t const_int(R%((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR=ΆscCΰs |jjS(N(R8t const_double(R%((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR>ΊscCΰs |jjS(N(R8t const_string(R%((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR?ΎscCΰs |jjS(N(R8t const_boolean(R%((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR@ΒscCΰs |jjS(N(R8R;(R%((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR;ΖscCΰs |jjS(N(R8R+(R%((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR+ΚscCΰs,|jjdk r(t|j|jjƒSdS(N(R8R.R/R"R#(R%((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR.ΞscCΰs |jjS(N(R8R9(R%((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR9ΣscCΰs |jjS(N(R8R:(R%((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyR:ΧscCΰs |jjS(N(R8tprivate(R%((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyRAΫscCΰst|jj|jjƒS(N(RR8R9R:(R%((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pytpositionίs (R*R5R6R(R-R7R=R>R?R@R;R+R.R9R:RARB(((sw/home/vagrant/ruby-gnome2.win64/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%((sw/home/vagrant/ruby-gnome2.win64/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((sw/home/vagrant/ruby-gnome2.win64/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((sw/home/vagrant/ruby-gnome2.win64/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((sw/home/vagrant/ruby-gnome2.win64/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((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyRbscCΰs |jjƒS(N(R#t get_comments(R%((sw/home/vagrant/ruby-gnome2.win64/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((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pytdumpsc Cΰs|s dSdg}g}tƒ}tjddddƒ\}}tj|dƒ}|j||||ƒWdQXtjjtjj|ƒdƒ}|d} |j || |j ƒtj |ƒt | d ƒ} |j j| jƒƒ| jƒtj | ƒdS( Nu__GI_SCANNER__RPu g-ir-cpp-tsuffixu.cuwbiu.iur(RttempfiletmkstempRGtfdopent_write_preprocess_srcRHtbasenameRVt preprocessREtunlinktopenR#t parse_filetfilenotclose( R%RZRLtundefstcct tmp_fd_cppt tmp_name_cpptfp_cppttmpfile_basenamettmpfile_outputtfp((sw/home/vagrant/ruby-gnome2.win64/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%RyRLRrRZtdefinetundefR[((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyRj:s   ( R*R5R(RTR]R`RbRcReRYRj(((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyRεs       iiiii iiiii(Et __future__RRRRRRGt subprocessRgtlibtoolimporterRtmessageRt ccompilerRR/tenviront _giscannerRRCtgiscanner._giscannert HEADER_EXTSRWtALL_EXTStrangeR R R R R RRRRRRRRRRRRRRRtSTORAGE_CLASS_NONEtSTORAGE_CLASS_TYPEDEFtSTORAGE_CLASS_EXTERNtSTORAGE_CLASS_STATICtSTORAGE_CLASS_AUTOtSTORAGE_CLASS_REGISTERtTYPE_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(((sw/home/vagrant/ruby-gnome2.win64/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pytsL    * *  +C