Commit 24c926f1 authored by Benjamin Peterson's avatar Benjamin Peterson

revert 65897

parent 10fe57ec
...@@ -95,19 +95,19 @@ Examining Symbol Tables ...@@ -95,19 +95,19 @@ Examining Symbol Tables
.. method:: get_parameters() .. method:: get_parameters()
Return a set containing names of parameters to this function. Return a tuple containing names of parameters to this function.
.. method:: get_locals() .. method:: get_locals()
Return a set containing names of locals in this function. Return a tuple containing names of locals in this function.
.. method:: get_globals() .. method:: get_globals()
Return a set containing names of globals in this function. Return a tuple containing names of globals in this function.
.. method:: get_frees() .. method:: get_frees()
Return a set containing names of free variables in this function. Return a tuple containing names of free variables in this function.
.. class:: Class .. class:: Class
...@@ -116,7 +116,7 @@ Examining Symbol Tables ...@@ -116,7 +116,7 @@ Examining Symbol Tables
.. method:: get_methods() .. method:: get_methods()
Return a set containing the names of methods declared in the class. Return a tuple containing the names of methods declared in the class.
.. class:: Symbol .. class:: Symbol
......
...@@ -128,8 +128,8 @@ class Function(SymbolTable): ...@@ -128,8 +128,8 @@ class Function(SymbolTable):
__globals = None __globals = None
def __idents_matching(self, test_func): def __idents_matching(self, test_func):
return frozenset(ident for ident in self.get_identifiers() return tuple([ident for ident in self.get_identifiers()
if test_func(self._table.symbols[ident])) if test_func(self._table.symbols[ident])])
def get_parameters(self): def get_parameters(self):
if self.__params is None: if self.__params is None:
...@@ -164,7 +164,7 @@ class Class(SymbolTable): ...@@ -164,7 +164,7 @@ class Class(SymbolTable):
d = {} d = {}
for st in self._table.children: for st in self._table.children:
d[st.name] = 1 d[st.name] = 1
self.__methods = frozenset(d) self.__methods = tuple(d)
return self.__methods return self.__methods
......
...@@ -80,11 +80,11 @@ class SymtableTest(unittest.TestCase): ...@@ -80,11 +80,11 @@ class SymtableTest(unittest.TestCase):
def test_function_info(self): def test_function_info(self):
func = self.spam func = self.spam
self.assertEqual(func.get_parameters(), {"a", "b", "kw", "var"}) self.assertEqual(func.get_parameters(), ("a", "b", "kw", "var"))
self.assertEqual(func.get_locals(), self.assertEqual(func.get_locals(),
{"a", "b", "bar", "glob", "internal", "kw", "var", "x"}) ("a", "b", "bar", "glob", "internal", "kw", "var", "x"))
self.assertEqual(func.get_globals(), {"bar", "glob"}) self.assertEqual(func.get_globals(), ("bar", "glob"))
self.assertEqual(self.internal.get_frees(), {"x"}) self.assertEqual(self.internal.get_frees(), ("x",))
def test_globals(self): def test_globals(self):
self.assertTrue(self.spam.lookup("glob").is_global()) self.assertTrue(self.spam.lookup("glob").is_global())
...@@ -142,7 +142,7 @@ class SymtableTest(unittest.TestCase): ...@@ -142,7 +142,7 @@ class SymtableTest(unittest.TestCase):
self.assertEqual(self.Mine.get_name(), "Mine") self.assertEqual(self.Mine.get_name(), "Mine")
def test_class_info(self): def test_class_info(self):
self.assertEqual(self.Mine.get_methods(), {'a_method'}) self.assertEqual(self.Mine.get_methods(), ('a_method',))
def test_filename_correct(self): def test_filename_correct(self):
### Bug tickler: SyntaxError file name correct whether error raised ### Bug tickler: SyntaxError file name correct whether error raised
......
...@@ -249,9 +249,6 @@ Extension Modules ...@@ -249,9 +249,6 @@ Extension Modules
Library Library
------- -------
- symtable.Function's ``get_locals()``, ``get_globals()``, ``get_parameters()``,
and ``get_frees()`` and symtable.Class's ``get_methods()`` now return sets.
- The methods ``is_in_tuple()``, ``is_vararg()``, and ``is_keywordarg()`` of - The methods ``is_in_tuple()``, ``is_vararg()``, and ``is_keywordarg()`` of
symtable.Symbol have been removed. symtable.Symbol have been removed.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment