f( ddlZddlmZmZmZmZmZmZmZmZm Z m Z m Z m Z m Z mZmZddlZgdZdZGddZeZGddZGd d eZGd d eZGd dZedkrddlZddlZeejd5ZeZ dddn #1swxYwYee ej!"ejdddZ#e#$D]JZ%e#&e%Z'e(e'e')e'*IdSdS)N)USE DEF_GLOBAL DEF_NONLOCAL DEF_LOCAL DEF_PARAM DEF_IMPORT DEF_BOUND DEF_ANNOT SCOPE_OFF SCOPE_MASKFREELOCALGLOBAL_IMPLICITGLOBAL_EXPLICITCELL)symtable SymbolTableClassFunctionSymbolcP tj|||}t||SN) _symtabler_newSymbolTable)codefilename compile_typetops //opt/alt/python311/lib64/python3.11/symtable.pyrr s-  T8\ : :C 3 ) ))c eZdZdZdZdZdS)SymbolTableFactoryc6tj|_dSr)weakrefWeakValueDictionary_SymbolTableFactory__memoselfs r__init__zSymbolTableFactory.__init__s133 r c|jtjkrt||S|jtjkrt ||St ||Sr)typer TYPE_FUNCTIONr TYPE_CLASSrr)r(tablers rnewzSymbolTableFactory.newsR :0 0 0E8,, , :- - -)) )5(+++r c||f}|j|d}| |||x}|j|<|Sr)r&getr/)r(r.rkeyobjs r__call__zSymbolTableFactory.__call__ sIXokooc4(( ;%)XXeX%>%> >C$+c" r N)__name__ __module__ __qualname__r)r/r4r rr"r"sA444,,,r r"cbeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdS)rc0||_||_i|_dSr)_table _filename_symbols)r( raw_tablers rr)zSymbolTable.__init__,s ! r c|jtkrd}nd|jjz}|jjdkrd||jSd||jj|jS)Nz%s rz<{0}SymbolTable for module {1}>z<{0}SymbolTable for {1} in {2}>) __class__rr5r;nameformatr<)r(kinds r__repr__zSymbolTable.__repr__1sw >[ ( (DD4>22D ; u $ $4;;D$.QQ Q4;;D<@KsY ; y4 4 48 ; y6 6 6: ; y3 3 37 4 3r c |jjSr)r;idr's rget_idzSymbolTable.get_idMs {~r c |jjSr)r;rBr's rget_namezSymbolTable.get_nameRs {r c |jjSr)r;linenor's r get_linenozSymbolTable.get_lineno[s {!!r cR t|jjtjkSr)boolr;r+rr,r's r is_optimizedzSymbolTable.is_optimizedas$ DK$ (??@@@r c6 t|jjSr)rUr;nestedr's r is_nestedzSymbolTable.is_nestedgs DK&'''r c6 t|jjSr)rUr;childrenr's r has_childrenzSymbolTable.has_childrenls DK()))r c@ |jjSr)r;symbolskeysr's rget_identifierszSymbolTable.get_identifiersqs {"'')))r c |j|}|T|jj|}||}|jjdk}t ||||x}|j|<|S)Nr module_scope)r=r1r;r^_SymbolTable__check_childrenrBr)r(rBsymflags namespacesrcs rlookupzSymbolTable.lookupvs m%% ;K'-E..t44J K,5L(.tUJz+SymbolTable.get_symbols..s%GGGu E""GGGr )r`r's`r get_symbolszSymbolTable.get_symbolss1 HGGG0D0D0F0FGGGGr c8fdjjDS)NcPg|]"}|jk t|j#Sr8)rBrr<)rkstrBr(s rrmz0SymbolTable.__check_children..s8$$$7d?? DN33"??r r;r[)r(rBs``r__check_childrenzSymbolTable.__check_childrens9$$$$$+.$$$ $r c6 fdjjDS)Nc:g|]}t|jSr8)rr<)rkrqr(s rrmz,SymbolTable.get_children..s5000 DN33000r rrr's`r get_childrenzSymbolTable.get_childrens8 0000+.000 0r N)r5r6r7r)rErKrNrPrSrVrYr\r`rhrnrdrvr8r rrr*s L L L ? ? ?    """ AAA ((( *** ***   HHH $$$ 00000r rcFeZdZdZdZdZdZdZdZdZ dZ dZ dZ dZ dS)rNcbtfdDS)Nc3RK|]!}jj||V"dSr)r;r^)rkrlr( test_funcs r z-Function.__idents_matching..sO??u! $+"5e"<==?U??????r )tupler`)r(rzs``r__idents_matchingzFunction.__idents_matchingsL?????(<(<(>(>????? ?r cV |j|d|_|jS)Nc|tzSr)rxs rz)Function.get_parameters..s A Mr )_Function__params_Function__idents_matchingr's rget_parameterszFunction.get_parameterss0 =  223I3IJJDM}r c| |j-ttffd}|||_|jS)Nc,|tz tzvSrr r )rlocss rrz%Function.get_locals..sqI~;Dr )_Function__localsrrr)r(testrs @r get_localszFunction.get_localssD = 4=DDDDDD 22488DM}r c| |j-ttffd}|||_|jS)Nc,|tz tzvSrr)rglobs rrz&Function.get_globals..sa9n :tCr )_Function__globalsrrr)r(rrs @r get_globalszFunction.get_globalssE > !#_5DCCCCD!33D99DN~r cV |j|d|_|jS)Nc|tzSr)rrs rrz(Function.get_nonlocals..s q.si: =$Fr )_Function__freesr)r(is_frees r get_freeszFunction.get_freess4 < FFG11'::DL|r )r5r6r7rrrrrrrrrrrr8r rrrsHHGIK???   r rceZdZdZdZdS)rNc~ |j/i}|jjD] }d||j< t ||_|jS)N)_Class__methodsr;r[rBr|)r(drqs r get_methodszClass.get_methodssJ > !Ak*  "' "1XXDN~r )r5r6r7rrr8r rrrs(Ir rcveZdZddddZdZdZdZdZd Zd Z d Z d Z d Z dZ dZdZdZdZdZdS)rNFrbcp||_||_|tz tz|_|pd|_||_dS)Nr8) _Symbol__name_Symbol__flagsr r _Symbol__scope_Symbol__namespaces_Symbol__module_scope)r(rBrfrgrcs rr)zSymbol.__init__s<  *j8 &,"*r c6d|jS)Nz)rCrr's rrEzSymbol.__repr__s&&t{333r c |jSr)rr's rrPzSymbol.get_names {r cF t|jtjzSr)rUrrrr's r is_referencedzSymbol.is_referenceds  DL9=0111r c< t|jtzSr)rUrrr's r is_parameterzSymbol.is_parameter DL9,---r ct t|jttfvp|jo|jt zSr)rUrrrrrr r's r is_globalzSymbol.is_globalsB DL_o$FFJ+H y0HKK Kr c< t|jtzSr)rUrrr's r is_nonlocalzSymbol.is_nonlocals6DL</000r c> t|jtkSr)rUrrr's ris_declared_globalzSymbol.is_declared_globals $DLO3444r ct t|jttfvp|jo|jt zSr)rUrrrrrr r's ris_localzSymbol.is_localsA DLUDM1J+H y0HKK Kr c< t|jtzSr)rUrr r's r is_annotatedzSymbol.is_annotated rr c> t|jtkSr)rUrr r's rrzSymbol.is_frees DLD()))r c< t|jtzSr)rUrrr's r is_importedzSymbol.is_importeds DL:-...r c< t|jtzSr)rUrrr's r is_assignedzSymbol.is_assigneds7DL9,---r c, t|jSr)rUrr's r is_namespacezSymbol.is_namespace!s D%&&&r c |jSr)rr's rget_namespaceszSymbol.get_namespaces.s<  r c t|jdkrtdt|jdkrtd|jdS)Nrz#name is not bound to any namespacesrz$name is bound to multiple namespaces)lenr ValueErrorr's r get_namespacezSymbol.get_namespace2sa t ! !Q & &BCC C " # #a ' 'CDD D$Q' 'r r)r5r6r7r)rErPrrrrrrrrrrrrrr8r rrrs+U+++++444 222 ... KKK 111555 KKK ... *** /// ... ' ' '!!! ( ( ( ( (r r__main__rexec)+rrrrrrrr r r r r rrrrr$__all__rr"rrrrrr5ossysopenargvfreadsrcpathsplitmodr`rlrhinfoprintrrr8r rrs84444444444444444444444444444444444 D D D***$%$&&i0i0i0i0i0i0i0i0X33333{333l     K   b(b(b(b(b(b(b(b(H zNNNNNNN chqk  affhh (3 chqk2215v > >C$$&&::zz%   dDMMOOT%6%6%8%89999 ::s$CC  C