Lc @sdZddkZddklZlZlZlZlZlZlZl Z l Z l Z l Z l Z lZlZddkZddkZdddddgZd Zd dd YZeZdefd YZdefd YZdefdYZdefdYZedjoddkZddkZeeidi Z!ee!ei"i#eidddZ$x@e$i%D].Z&e$i'e&Z(e(Ge(i)Ge(i*GHqWndS(s2Interface to the compiler's internal symbol tablesiN(tUSEt DEF_GLOBALt DEF_LOCALt DEF_PARAMt DEF_IMPORTt DEF_BOUNDtOPT_IMPORT_STARtOPT_EXECt OPT_BARE_EXECt SCOPE_OFFt SCOPE_MASKtFREEtGLOBAL_IMPLICITtGLOBAL_EXPLICITtsymtablet SymbolTabletClasstFunctiontSymbolcCsNti|||}x)|iD]}|idjoPq"q"Wt||S(Nttop(t _symtableRt itervaluestnamet_newSymbolTable(tcodetfilenamet compile_typetrawR((s /usr/lib64/python2.6/symtable.pyR s   tSymbolTableFactorycBs#eZdZdZdZRS(cCsti|_dS(N(tweakreftWeakValueDictionaryt_SymbolTableFactory__memo(tself((s /usr/lib64/python2.6/symtable.pyt__init__scCsO|itijot||S|itijot||St||S(N(ttypeRt TYPE_FUNCTIONRt TYPE_CLASSRR(R ttableR((s /usr/lib64/python2.6/symtable.pytnews cCsS||f}|ii|d}|djo!|i||}|i|s<{0}SymbolTable for {1} in {2}>(t __class__RR,R.RtformatR/(R tkind((s /usr/lib64/python2.6/symtable.pyt__repr__0s   cCsU|iitijodS|iitijodS|iitijodSdS(Ntmoduletfunctiontclass(R.R"Rt TYPE_MODULER#R$(R ((s /usr/lib64/python2.6/symtable.pytget_type=scCs |iiS(N(R.tid(R ((s /usr/lib64/python2.6/symtable.pytget_idGscCs |iiS(N(R.R(R ((s /usr/lib64/python2.6/symtable.pytget_nameJscCs |iiS(N(R.tlineno(R ((s /usr/lib64/python2.6/symtable.pyt get_linenoMscCs't|iitijo |ii S(N(tboolR.R"RR#t optimized(R ((s /usr/lib64/python2.6/symtable.pyt is_optimizedPscCst|iiS(N(RBR.tnested(R ((s /usr/lib64/python2.6/symtable.pyt is_nestedTscCst|iiS(N(RBR.tchildren(R ((s /usr/lib64/python2.6/symtable.pyt has_childrenWscCst|iittB@S(s"Return true if the scope uses exec(RBR.RCRR(R ((s /usr/lib64/python2.6/symtable.pythas_execZscCst|iit@S(s&Return true if the scope uses import *(RBR.RCR(R ((s /usr/lib64/python2.6/symtable.pythas_import_star^scCs|iiiS(N(R.tsymbolstkeys(R ((s /usr/lib64/python2.6/symtable.pytget_identifiersbscCsc|ii|}|djo@|ii|}|i|}t|||}|i|R?RARDRFRHRIRJRMRRRURNRX(((s /usr/lib64/python2.6/symtable.pyR)s              cBsMeZdZdZdZdZdZdZdZ dZ dZ RS(cCsFtg}|iD](}||ii|o ||qq~S(N(ttupleRMR.RK(R t test_funcRSRT((s /usr/lib64/python2.6/symtable.pyt__idents_matchingscCs0|idjo|id|_n|iS(NcSs|t@S((R(tx((s /usr/lib64/python2.6/symtable.pyts(t_Function__paramsR(t_Function__idents_matching(R ((s /usr/lib64/python2.6/symtable.pytget_parametersscCs0|idjo|id|_n|iS(NcSs|t@S((R(R\((s /usr/lib64/python2.6/symtable.pyR]s(t_Function__localsR(R_(R ((s /usr/lib64/python2.6/symtable.pyt get_localsscsH|idjo1ttffd}|i||_n|iS(Ncs|t?t@jS((R R (R\(tglob(s /usr/lib64/python2.6/symtable.pyR]s(t_Function__globalsR(R R R_(R ttest((Rcs /usr/lib64/python2.6/symtable.pyt get_globalss  cCs6|idjod}|i||_n|iS(NcSs|t?t@tjS((R R R (R\((s /usr/lib64/python2.6/symtable.pyR]s(t_Function__freesR(R_(R tis_free((s /usr/lib64/python2.6/symtable.pyt get_freess N( R,R-R(R^RaRgRdR_R`RbRfRi(((s /usr/lib64/python2.6/symtable.pyRzs    cBseZdZdZRS(cCsT|idjo=h}x!|iiD]}d||i(R5Rm(R ((s /usr/lib64/python2.6/symtable.pyR7scCs|iS(N(Rm(R ((s /usr/lib64/python2.6/symtable.pyR?scCst|iti@S(N(RBRnRR(R ((s /usr/lib64/python2.6/symtable.pyt is_referencedscCst|it@S(N(RBRnR(R ((s /usr/lib64/python2.6/symtable.pyt is_parameterscCst|ittfjS(N(RBRoR R (R ((s /usr/lib64/python2.6/symtable.pyt is_globalscCstidtdtS(Ns+is_vararg() is obsolete and will be removedi(twarningstwarntDeprecationWarningtFalse(R ((s /usr/lib64/python2.6/symtable.pyt is_varargs  cCstidtdtS(Ns/is_keywordarg() is obsolete and will be removedi(RtRuRvRw(R ((s /usr/lib64/python2.6/symtable.pyt is_keywordargs  cCst|itjS(N(RBRoR (R ((s /usr/lib64/python2.6/symtable.pytis_declared_globalscCst|it@S(N(RBRnR(R ((s /usr/lib64/python2.6/symtable.pytis_localscCst|itjS(N(RBRoR (R ((s /usr/lib64/python2.6/symtable.pyRhscCst|it@S(N(RBRnR(R ((s /usr/lib64/python2.6/symtable.pyt is_importedscCst|it@S(N(RBRnR(R ((s /usr/lib64/python2.6/symtable.pyt is_assignedscCstidtddS(Ns-is_in_tuple() is obsolete and will be removedi(RtRuRv(R ((s /usr/lib64/python2.6/symtable.pyt is_in_tuples cCs t|iS(sReturns true if name binding introduces new namespace. If the name is used as the target of a function or class statement, this will be true. Note that a single name can be bound to multiple objects. If is_namespace() is true, the name may also be bound to other objects, like an int or list, that does not introduce a new namespace. (RBRp(R ((s /usr/lib64/python2.6/symtable.pyt is_namespaces cCs|iS(s.Return a list of namespaces bound to this name(Rp(R ((s /usr/lib64/python2.6/symtable.pytget_namespacesscCs.t|idjo tdn|idS(sReturns the single namespace bound to this name. Raises ValueError if the name is bound to multiple namespaces. is$name is bound to multiple namespacesi(tlenRpt ValueError(R ((s /usr/lib64/python2.6/symtable.pyt get_namespaces N(R,R-R(R!R7R?RqRrRsRxRyRzR{RhR|R}R~RRR(((s /usr/lib64/python2.6/symtable.pyRs"               t__main__iitexec((+t__doc__RRRRRRRRRRR R R R R RtRt__all__RRRtobjectRRRRR,tostsystopentargvtreadtsrctpathtsplittmodRMRTRRtinfoR{R(((s /usr/lib64/python2.6/symtable.pyts( ^    Q$ N )