U ifU @ sJ d Z ddlZddlmZmZmZmZmZmZmZm Z m Z mZmZm Z mZmZmZ ddlZdddddgZd d ZG d d dZe ZG dd dZG d d deZG dd deZG dd dZedkrFddlZddlZeejd Ze Z!W 5 Q R X ee!ej"#ejd d dZ$e$% D ]$Z&e$'e&Z(e)e(e(* e(+ q dS )z2Interface to the compiler's internal symbol tables N)USE DEF_GLOBALDEF_NONLOCAL DEF_LOCAL DEF_PARAM DEF_IMPORT DEF_BOUND DEF_ANNOT SCOPE_OFF SCOPE_MASKFREELOCALGLOBAL_IMPLICITGLOBAL_EXPLICITCELLsymtableSymbolTableClassFunctionSymbolc C s t | ||}t||S N) _symtabler _newSymbolTable)codefilenameZcompile_typetop r -/opt/alt/python38/lib64/python3.8/symtable.pyr s c @ s$ e Zd Zdd Zdd Zdd ZdS )SymbolTableFactoryc C s t | _d S r )weakrefZWeakValueDictionary_SymbolTableFactory__memoselfr 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 |<