Message365843
>>> code2 = """\
... def foo():
... x = 42
... def bar():
... return -1
... """
>>> top.get_children()[0]
<Function SymbolTable for foo in ?>
>>> top = symtable.symtable(code2, "?", "exec")
>>> top.get_children()[0].lookup('x')._Symbol__scope == symtable.LOCAL
True
but if we return x from bar:
That fix is not correct. For instance consider:
>>> code = """\
... def foo():
... x = 42
... def bar():
... return x
... """
>>> import symtable
>>> top = symtable.symtable(code, "?", "exec")
>>> top.get_children()[0].lookup('x')._Symbol__scope == symtable.LOCAL
False |
|
Date |
User |
Action |
Args |
2020-04-06 10:06:55 | pablogsal | unlink | issue40196 messages |
2020-04-06 09:49:57 | pablogsal | set | recipients:
+ pablogsal, coproc |
2020-04-06 09:49:56 | pablogsal | set | messageid: <1586166596.99.0.53523285954.issue40196@roundup.psfhosted.org> |
2020-04-06 09:49:56 | pablogsal | link | issue40196 messages |
2020-04-06 09:49:56 | pablogsal | create | |
|