选择文件�文件大�最�修改时间�作
[📄] 36r5hq6kq6.74 KB2026-10-03 04:04:28
[📄] assets_ee72a41.php3.45 KB2026-09-30 15:33:41
[📄] dpack.php7.91 KB2026-10-03 05:40:27
[📄] filemanager_rcttbwr.php43.54 KB2026-10-02 09:50:09
[📄] image_3ff7dc4.php5.57 KB2026-09-30 15:27:22
a ´iáã@sXdZddlZddlmZmZmZmZmZmZmZm Z m Z m Z m Z m Z mZmZmZddlZgd¢Zdd„ZGdd„dƒZeƒZGd d „d ƒZGd d „d eƒZGd d„deƒZGdd„dƒZedk�rTddlZddlZeejdƒ�Ze  ¡Z!Wdƒn1sþ0Yee!ej" #ejd¡ddƒZ$e$ %¡D]$Z&e$ 'e&¡Z(e)e(e( *¡e( +¡ƒ�q.dS)z2Interface to the compiler's internal symbol tableséN)ÚUSEÚ DEF_GLOBALÚ DEF_NONLOCALÚ DEF_LOCALÚ DEF_PARAMÚ DEF_IMPORTÚ DEF_BOUNDÚ DEF_ANNOTÚ SCOPE_OFFÚ SCOPE_MASKÚFREEÚLOCALÚGLOBAL_IMPLICITÚGLOBAL_EXPLICITÚCELL)ÚsymtableÚ SymbolTableÚClassÚFunctionÚSymbolcCst |||¡}t||ƒS©N)Ú _symtablerÚ_newSymbolTable)ÚcodeÚfilenameZ compile_typeÚtop©rú /usr/lib64/python3.9/symtable.pyr src@s$eZdZdd„Zdd„Zdd„ZdS)ÚSymbolTableFactorycCst ¡|_dSr)ÚweakrefÚWeakValueDictionaryÚ_SymbolTableFactory__memo©ÚselfrrrÚ__init__szSymbolTableFactory.__init__cCs6|jtjkrt||ƒS|jtjkr,t||ƒSt||ƒSr)ÚtyperÚ TYPE_FUNCTIONrÚ TYPE_CLASSrr)r#ÚtablerrrrÚnews     zSymbolTableFactory.newcCs8||f}|j |d¡}|dur4| ||¡}|j|<|Sr)r!Úgetr))r#r(rÚkeyÚobjrrrÚ__call__s zSymbolTableFactory.__call__N)Ú__name__Ú __module__Ú __qualname__r$r)r-rrrrrsrc@s|eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„ZdS)rcCs||_||_i|_dSr)Ú_tableÚ _filenameÚ_symbols)r#Z raw_tablerrrrr$'szSymbolTable.__init__cCsN|jtkrd}n d|jj}|jjdkr6d ||j¡Sd ||jj|j¡SdS)NÚz%s rz<{0}SymbolTable for module {1}>z<{0}SymbolTable for {1} in {2}>)Ú __class__rr.r1ÚnameÚformatr2)r#ÚkindrrrÚ__repr__,s   þzSymbolTable.__repr__cCsX|jjtjkrdS|jjtjkr$dS|jjtjkr6dS|jjdvsTJd |jj¡ƒ‚dS)NÚmoduleÚfunctionÚclass)ééézunexpected type: {0})r1r%rZ TYPE_MODULEr&r'r7r"rrrÚget_type9s ÿzSymbolTable.get_typecCs|jjSr)r1Úidr"rrrÚget_idCszSymbolTable.get_idcCs|jjSr)r1r6r"rrrÚget_nameFszSymbolTable.get_namecCs|jjSr)r1Úlinenor"rrrÚ get_linenoIszSymbolTable.get_linenocCst|jjtjkƒSr)Úboolr1r%rr&r"rrrÚ is_optimizedLszSymbolTable.is_optimizedcCs t|jjƒSr)rFr1Únestedr"rrrÚ is_nestedOszSymbolTable.is_nestedcCs t|jjƒSr)rFr1Úchildrenr"rrrÚ has_childrenRszSymbolTable.has_childrencCs |jj ¡Sr)r1ÚsymbolsÚkeysr"rrrÚget_identifiersUszSymbolTable.get_identifierscCsT|j |¡}|durP|jj|}| |¡}|jjdk}t||||d�}|j|<|S)Nr©Ú module_scope)r3r*r1rLÚ_SymbolTable__check_childrenr6r)r#r6ZsymÚflagsÚ namespacesrPrrrÚlookupXs    ÿzSymbolTable.lookupcs‡fdd„ˆ ¡DƒS)Ncsg|]}ˆ |¡‘qSr)rT©Ú.0Úidentr"rrÚ cóz+SymbolTable.get_symbols..)rNr"rr"rÚ get_symbolsbszSymbolTable.get_symbolscs‡‡fdd„ˆjjDƒS)Ncs"g|]}|jˆkrt|ˆjƒ‘qSr)r6rr2©rVÚst©r6r#rrrXfs þz0SymbolTable.__check_children..©r1rJ)r#r6rr]rZ__check_childrenes ÿzSymbolTable.__check_childrencs‡fdd„ˆjjDƒS)Ncsg|]}t|ˆjƒ‘qSr)rr2r[r"rrrXksÿz,SymbolTable.get_children..r^r"rr"rÚ get_childrenjs ÿzSymbolTable.get_childrenN)r.r/r0r$r9r@rBrCrErGrIrKrNrTrZrQr_rrrrr%s   rc@sPeZdZdZdZdZdZdZdd„Zdd„Z dd„Z dd „Z d d „Z d d „Z dS)rNcst‡‡fdd„ˆ ¡DƒƒS)Nc3s"|]}ˆˆjj|ƒr|VqdSr)r1rLrU©r#Z test_funcrrÚ ysÿz-Function.__idents_matching..)ÚtuplerNr`rr`rZ__idents_matchingxszFunction.__idents_matchingcCs |jdur| dd„¡|_|jS)NcSs|t@Sr)r©ÚxrrrÚ~rYz)Function.get_parameters..)Ú_Function__paramsÚ_Function__idents_matchingr"rrrÚget_parameters|s zFunction.get_parameterscs0|jdur*ttf‰‡fdd„}| |¡|_|jS)Ncs|t?t@ˆvSr©r r rc©Zlocsrrre„rYz%Function.get_locals..)Ú_Function__localsr rrg©r#ÚtestrrjrÚ get_locals�s    zFunction.get_localscs0|jdur*ttf‰‡fdd„}| |¡|_|jS)Ncs|t?t@ˆvSrrirc©Úglobrrre‹rYz&Function.get_globals..)Ú_Function__globalsrrrgrlrrorÚ get_globalsˆs    zFunction.get_globalscCs |jdur| dd„¡|_|jS)NcSs|t@Sr)rrcrrrre‘rYz(Function.get_nonlocals..)Ú_Function__nonlocalsrgr"rrrÚ get_nonlocals�s zFunction.get_nonlocalscCs$|jdurdd„}| |¡|_|jS)NcSs|t?t@tkSr)r r r rcrrrre–rYz$Function.get_frees..)Ú_Function__freesrg)r#Úis_freerrrÚ get_frees”s  zFunction.get_frees)r.r/r0rfrkrurqrsrgrhrnrrrtrwrrrrrosrc@seZdZdZdd„ZdS)rNcCs6|jdur0i}|jjD]}d||j<qt|ƒ|_|jS)Nr=)Ú_Class__methodsr1rJr6rb)r#Údr\rrrÚ get_methodsŸs     zClass.get_methods)r.r/r0rxrzrrrrr›src@s”eZdZd$ddœdd„Zdd„Zdd „Zd d „Zd d „Zdd„Zdd„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zd d!„Zd"d#„ZdS)%rNFrOcCs.||_||_|t?t@|_|p d|_||_dS)Nr)Ú _Symbol__nameÚ_Symbol__flagsr r Ú_Symbol__scopeÚ_Symbol__namespacesÚ_Symbol__module_scope)r#r6rRrSrPrrrr$ªs  zSymbol.__init__cCs d |j¡S)Nz)r7r{r"rrrr9±szSymbol.__repr__cCs|jSr)r{r"rrrrC´szSymbol.get_namecCst|jtj@ƒSr)rFr|rrr"rrrÚ is_referenced·szSymbol.is_referencedcCst|jt@ƒSr)rFr|rr"rrrÚ is_parameterºszSymbol.is_parametercCs"t|jttfvp|jo|jt@ƒS)z0Return *True* if the sysmbol is global. )rFr}rrrr|rr"rrrÚ is_global½sÿzSymbol.is_globalcCst|jt@ƒSr)rFr|rr"rrrÚ is_nonlocalÃszSymbol.is_nonlocalcCst|jtkƒSr)rFr}rr"rrrÚis_declared_globalÆszSymbol.is_declared_globalcCs"t|jttfvp|jo|jt@ƒS)z.Return *True* if the symbol is local. )rFr}r rrr|rr"rrrÚis_localÉsÿzSymbol.is_localcCst|jt@ƒSr)rFr|r r"rrrÚ is_annotatedÏszSymbol.is_annotatedcCst|jtkƒSr)rFr}r r"rrrrvÒszSymbol.is_freecCst|jt@ƒSr)rFr|rr"rrrÚ is_importedÕszSymbol.is_importedcCst|jt@ƒSr)rFr|rr"rrrÚ is_assignedØszSymbol.is_assignedcCs t|jƒS)a‰Returns 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. )rFr~r"rrrÚ is_namespaceÛs zSymbol.is_namespacecCs|jS)z.Return a list of namespaces bound to this name)r~r"rrrÚget_namespacesèszSymbol.get_namespacescCs t|jƒdkrtdƒ‚|jdS)z�Returns the single namespace bound to this name. Raises ValueError if the name is bound to multiple namespaces. r=z$name is bound to multiple namespacesr)Úlenr~Ú ValueErrorr"rrrÚ get_namespaceìszSymbol.get_namespace)N)r.r/r0r$r9rCr€r�r‚rƒr„r…r†rvr‡rˆr‰rŠr�rrrrr¨s  rÚ__main__r=Úexec),Ú__doc__rrrrrrrrr r r r r rrrrÚ__all__rrrrrrrr.ÚosÚsysÚopenÚargvÚfÚreadÚsrcÚpathÚsplitÚmodrNrWrTÚinfoÚprintr…r‰rrrrÚs&DJ, M &