ó %œ‡Uc@s ddlZddlZddlZddlmZmZmZmZmZm Z m Z m Z m Z dga dejfd„ƒYZdefd„ƒYZdS(iÿÿÿÿN( tBoxedDeftEnumDeftFlagsDeft FunctionDeft InterfaceDeft MethodDeft ObjectDeft PointerDeft VirtualDeft.t IncludeParsercBseZdZd„ZRS(s=A simple parser that follows include statements automaticallycCsçtjj|ƒr@|}|j}||_|jƒ||_n£tjj|jƒgt}x„g|D]}tjj||ƒ^qfD]D}tjj|ƒs£q…n|j}||_|jƒ||_Pq…Wt d||fƒ‚dS(Ns%s not found in include path %s( tostpathtisabstfilenamet startParsingtdirnamet include_pathtjointexiststIOError(tselftinput_filenameRtoldfiletinc_patht path_entry((s0/usr/share/pygobject27/2.0/codegen/defsparser.pytinclude s"    )    (t__name__t __module__t__doc__R(((s0/usr/share/pygobject27/2.0/codegen/defsparser.pyR st DefsParsercBsÅeZid„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z ejd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„ZRS(cCsntj||ƒg|_g|_g|_g|_g|_g|_g|_i|_ i|_ ||_ dS(N( R t__init__tobjectst interfacestenumstboxestpointerst functionstvirtualstc_nametmethodstdefines(RtargR)((s0/usr/share/pygobject27/2.0/codegen/defsparser.pyR$s         cGs3tt|ƒ}|jj|ƒ||j|j}t|tƒr |j|jkr |j|jƒ r |Sq WdS(N(R%t isinstanceRtis_constructor_ofR't is_ignored(RRCt overridesRK((s0/usr/share/pygobject27/2.0/codegen/defsparser.pytfind_constructorws cCs|j}t|d„|jƒS(NcSst|tƒo|j|kS(N(RNRt of_object(RKton((s0/usr/share/pygobject27/2.0/codegen/defsparser.pyt€s(R'tfilterR%(RRCtobjname((s0/usr/share/pygobject27/2.0/codegen/defsparser.pyt find_methods~s  cCs%|j}t|d„|jƒ}|S(NcSst|tƒo|j|kS(N(RNRRS(RKRT((s0/usr/share/pygobject27/2.0/codegen/defsparser.pyRU…s(R'RVR&(RRCRWtretval((s0/usr/share/pygobject27/2.0/codegen/defsparser.pyt find_virtualsƒs   cCstd„|jƒS(NcSst|tƒo|j S(N(RNRRO(RK((s0/usr/share/pygobject27/2.0/codegen/defsparser.pyRUŠs(RVR%(R((s0/usr/share/pygobject27/2.0/codegen/defsparser.pytfind_functions‰s cGs<|d|jkr8x"|dD]}|j|ƒqWndS(Nii(R)thandle(RR-R*((s0/usr/share/pygobject27/2.0/codegen/defsparser.pytifdefscGs<|d|jkr8x"|dD]}|j|ƒqWndS(Nii(R)R\(RR-R*((s0/usr/share/pygobject27/2.0/codegen/defsparser.pytifndef–s(RRRR/R1R3R5R7R9R:R<R>R@RFtsyststdoutRERMRRRXRZR[R]R^(((s0/usr/share/pygobject27/2.0/codegen/defsparser.pyR#s(                 (R R_tscmexprt definitionsRRRRRRRRRRtParserR R(((s0/usr/share/pygobject27/2.0/codegen/defsparser.pyts  @