U e5dU ã @ sJ d Z ddlZddlmZmZmZmZmZmZmZm Z m Z mZmZm Z mZmZmZ ddlZdddddgZd d„ ZG d d„ dƒZeƒ ZG dd„ dƒZG d d„ deƒZG dd„ deƒZG dd„ dƒZedk�rFddlZddlZeejd ƒ�Ze ¡ Z!W 5 Q R X ee!ej" #ejd ¡d dƒ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ÚSymbolc C s t | ||¡}t||ƒS ©N)Ú _symtabler Ú_newSymbolTable)ÚcodeÚfilenameZcompile_typeÚtop© r ú /usr/lib64/python3.8/symtable.pyr s c @ s$ e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚSymbolTableFactoryc C s t ¡ | _d S r )ÚweakrefZWeakValueDictionaryÚ_SymbolTableFactory__memo©Úselfr r r Ú__init__ s zSymbolTableFactory.__init__c C s6 |j tjkrt||ƒS |j tjkr,t||ƒS t||ƒS r )Útyper Ú TYPE_FUNCTIONr Ú TYPE_CLASSr r )r" Útabler r r r Únew s zSymbolTableFactory.newc C s8 ||f}| j |d ¡}|d kr4| ||¡ }| j |<