diff --git a/test/bytecode_1.5/test_loops.pyc b/test/bytecode_1.5/test_loops.pyc-notyet similarity index 100% rename from test/bytecode_1.5/test_loops.pyc rename to test/bytecode_1.5/test_loops.pyc-notyet diff --git a/test/bytecode_2.1/test_loops.pyc b/test/bytecode_2.1/test_loops.pyc-notyet similarity index 100% rename from test/bytecode_2.1/test_loops.pyc rename to test/bytecode_2.1/test_loops.pyc-notyet diff --git a/test/bytecode_2.3/08_while1_if_continue.pyc b/test/bytecode_2.3/08_while1_if_continue.pyc-notyet similarity index 100% rename from test/bytecode_2.3/08_while1_if_continue.pyc rename to test/bytecode_2.3/08_while1_if_continue.pyc-notyet diff --git a/test/bytecode_2.6/07_return_end_if.pyc b/test/bytecode_2.6/07_return_end_if.pyc-notyet similarity index 100% rename from test/bytecode_2.6/07_return_end_if.pyc rename to test/bytecode_2.6/07_return_end_if.pyc-notyet diff --git a/uncompyle6/scanners/scanner2.py b/uncompyle6/scanners/scanner2.py index 2fb484df..48ccd294 100644 --- a/uncompyle6/scanners/scanner2.py +++ b/uncompyle6/scanners/scanner2.py @@ -138,14 +138,21 @@ class Scanner2(Scanner): if classname: classname = '_' + classname.lstrip('_') + '__' - free = [ self.unmangle_name(name, classname) + if hasattr(co, "co_cellvars"): + free = [ self.unmangle_name(name, classname) for name in (co.co_cellvars + co.co_freevars) ] + else: + free = () + names = [ self.unmangle_name(name, classname) for name in co.co_names ] varnames = [ self.unmangle_name(name, classname) for name in co.co_varnames ] else: - free = co.co_cellvars + co.co_freevars + if hasattr(co, "co_cellvars"): + free = co.co_cellvars + co.co_freevars + else: + free = () names = co.co_names varnames = co.co_varnames return free, names, varnames