From 101651c128825a05a7ba7c1c556c90e22bfb86c2 Mon Sep 17 00:00:00 2001 From: Jeremy Hylton Date: Fri, 23 Mar 2001 15:41:14 +0000 Subject: flesh out __all__ remove debugging code in if __debug__: add get_children() method on SymbolTable --- Lib/symtable.py | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/Lib/symtable.py b/Lib/symtable.py index 3133633..6401d51 100644 --- a/Lib/symtable.py +++ b/Lib/symtable.py @@ -8,7 +8,8 @@ from _symtable import USE, DEF_GLOBAL, DEF_LOCAL, DEF_PARAM, \ import weakref -__all__ = ["symtable", "SymbolTable", "newSymbolTable"] +__all__ = ["symtable", "SymbolTable", "newSymbolTable", "Class", + "Function", "Symbol"] def symtable(code, filename, compile_type): raw = _symtable.symtable(code, filename, compile_type) @@ -117,6 +118,10 @@ class SymbolTable: for st in self._table.children if st.name == name] + def get_children(self): + return [newSymbolTable(st, self._filename) + for st in self._table.children] + class Function(SymbolTable): # Default values for instance variables @@ -236,19 +241,6 @@ class Symbol: raise ValueError, "name is bound to multiple namespaces" return self.__namespaces[0] -if __debug__: - class Foo: - version = 1 - - class Foo: - version = 2 - - class Foo: - version = 3 - - def execfunc(x): - exec x in y - if __name__ == "__main__": import os, sys src = open(sys.argv[0]).read() -- cgit v0.12