File: //lib64/python3.6/__pycache__/symtable.cpython-36.opt-1.pyc
3
\m @ sN d Z ddlZddlmZmZmZmZmZmZmZm Z m
Z
mZmZm
Z
mZmZ ddlZdddddgZd d ZG d
d dZe ZG dd deZG d
d deZG dd deZG dd deZedkrJddlZddlZeejd Zej Z!W dQ R X ee!ej"j#ejd d dZ$x0e$j% D ]$Z&e$j'e&Z(e)e(e(j* e(j+ q"W dS )z2Interface to the compiler's internal symbol tables N)USE
DEF_GLOBAL DEF_LOCAL DEF_PARAM
DEF_IMPORT DEF_BOUND DEF_ANNOT SCOPE_OFF
SCOPE_MASKFREELOCALGLOBAL_IMPLICITGLOBAL_EXPLICITCELLsymtableSymbolTableClassFunctionSymbolc C s t j| ||}t||S )N) _symtabler _newSymbolTable)codefilenameZcompile_typetop r /usr/lib64/python3.6/symtable.pyr s c @ s$ e Zd Zdd Zdd Zdd ZdS )SymbolTableFactoryc C s t j | _d S )N)weakrefWeakValueDictionary_SymbolTableFactory__memo)selfr r r __init__ s zSymbolTableFactory.__init__c C s6 |j tjkrt||S |j tjkr,t||S t||S )N)typer
TYPE_FUNCTIONr
TYPE_CLASSr r )r tabler r r r new s
zSymbolTableFactory.newc C s8 ||f}| j j|d }|d kr4| j|| }| j |<