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   cCs|iitijodS|iitijodS|iitijodS|iidjptdi|iidS( Ntmoduletfunctiontclassiiisunexpected type: {0}(iii(R.R"Rt TYPE_MODULER#R$tAssertionErrorR5(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(RCR.tnested(R ((s /usr/lib64/python2.6/symtable.pyt is_nestedTscCst|iiS(N(RCR.tchildren(R ((s /usr/lib64/python2.6/symtable.pyt has_childrenWscCst|iittB@S(s"Return true if the scope uses exec(RCR.RDRR(R ((s /usr/lib64/python2.6/symtable.pythas_execZscCst|iit@S(s&Return true if the scope uses import *(RCR.RDR(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|s(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((Rds /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_RbRhReR`RaRcRgRj(((s /usr/lib64/python2.6/symtable.pyRzs    cBseZdZdZRS(cCsT|idjo=h}x!|iiD]}d||i(R5Rn(R ((s /usr/lib64/python2.6/symtable.pyR7scCs|iS(N(Rn(R ((s /usr/lib64/python2.6/symtable.pyR@scCst|iti@S(N(RCRoRR(R ((s /usr/lib64/python2.6/symtable.pyt is_referencedscCst|it@S(N(RCRoR(R ((s /usr/lib64/python2.6/symtable.pyt is_parameterscCst|ittfjS(N(RCRpR 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(RuRvRwRx(R ((s /usr/lib64/python2.6/symtable.pyt is_keywordargs  cCst|itjS(N(RCRpR (R ((s /usr/lib64/python2.6/symtable.pytis_declared_globalscCst|it@S(N(RCRoR(R ((s /usr/lib64/python2.6/symtable.pytis_localscCst|itjS(N(RCRpR (R ((s /usr/lib64/python2.6/symtable.pyRiscCst|it@S(N(RCRoR(R ((s /usr/lib64/python2.6/symtable.pyt is_importedscCst|it@S(N(RCRoR(R ((s /usr/lib64/python2.6/symtable.pyt is_assignedscCstidtddS(Ns-is_in_tuple() is obsolete and will be removedi(RuRvRw(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. (RCRq(R ((s /usr/lib64/python2.6/symtable.pyt is_namespaces cCs|iS(s.Return a list of namespaces bound to this name(Rq(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(tlenRqt ValueError(R ((s /usr/lib64/python2.6/symtable.pyt get_namespaces N(R,R-R(R!R7R@RrRsRtRyRzR{R|RiR}R~RRRR(((s /usr/lib64/python2.6/symtable.pyRs"               t__main__iitexec((+t__doc__RRRRRRRRRRR R R R R RuRt__all__RRRtobjectRRRRR,tostsystopentargvtreadtsrctpathtsplittmodRNRURStinfoR|R(((s /usr/lib64/python2.6/symtable.pyts( ^    Q$ N )