Merged revisions 65885,65892,65894,65898 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r65885 | benjamin.peterson | 2008-08-19 17:06:11 -0500 (Tue, 19 Aug 2008) | 1 line check that the parser module can handle the new keyword syntax ........ r65892 | benjamin.peterson | 2008-08-19 20:27:30 -0500 (Tue, 19 Aug 2008) | 1 line add a NEWS note for new args syntax ........ r65894 | benjamin.peterson | 2008-08-19 20:44:45 -0500 (Tue, 19 Aug 2008) | 2 lines newSymbolTable is not public API ........ r65898 | benjamin.peterson | 2008-08-19 21:15:42 -0500 (Tue, 19 Aug 2008) | 1 line fix silly errors of mine ........
This commit is contained in:
parent
9f9fc68b0f
commit
3938a90a4a
|
@ -8,15 +8,14 @@ from _symtable import (USE, DEF_GLOBAL, DEF_LOCAL, DEF_PARAM,
|
|||
|
||||
import weakref
|
||||
|
||||
__all__ = ["symtable", "SymbolTable", "newSymbolTable", "Class",
|
||||
"Function", "Symbol"]
|
||||
__all__ = ["symtable", "SymbolTable", "Class", "Function", "Symbol"]
|
||||
|
||||
def symtable(code, filename, compile_type):
|
||||
raw = _symtable.symtable(code, filename, compile_type)
|
||||
for top in raw.values():
|
||||
if top.name == 'top':
|
||||
break
|
||||
return newSymbolTable(top, filename)
|
||||
return _newSymbolTable(top, filename)
|
||||
|
||||
class SymbolTableFactory:
|
||||
def __init__(self):
|
||||
|
@ -36,7 +35,7 @@ class SymbolTableFactory:
|
|||
obj = self.__memo[key] = self.new(table, filename)
|
||||
return obj
|
||||
|
||||
newSymbolTable = SymbolTableFactory()
|
||||
_newSymbolTable = SymbolTableFactory()
|
||||
|
||||
|
||||
class SymbolTable(object):
|
||||
|
@ -111,12 +110,12 @@ class SymbolTable(object):
|
|||
return [self.lookup(ident) for ident in self.get_identifiers()]
|
||||
|
||||
def __check_children(self, name):
|
||||
return [newSymbolTable(st, self._filename)
|
||||
return [_newSymbolTable(st, self._filename)
|
||||
for st in self._table.children
|
||||
if st.name == name]
|
||||
|
||||
def get_children(self):
|
||||
return [newSymbolTable(st, self._filename)
|
||||
return [_newSymbolTable(st, self._filename)
|
||||
for st in self._table.children]
|
||||
|
||||
|
||||
|
|
|
@ -66,6 +66,7 @@ class RoundtripLegalSyntaxTestCase(unittest.TestCase):
|
|||
self.check_expr("foo(a, b, c, *args)")
|
||||
self.check_expr("foo(a, b, c, *args, **kw)")
|
||||
self.check_expr("foo(a, b, c, **kw)")
|
||||
self.check_expr("foo(a, *args, keyword=23)")
|
||||
self.check_expr("foo + bar")
|
||||
self.check_expr("foo - bar")
|
||||
self.check_expr("foo * bar")
|
||||
|
|
Loading…
Reference in New Issue