Tarek Ziadé committed ab6dd88

fixed the way exception definitions are bind

Comments (0)

Files changed (2)


     COMPREHENSION = KEYWORD = handleChildren
     def EXCEPTHANDLER(self, node):
-        self.scope[] = node
+        if is not None:
+            self.addBinding(node.lineno, FunctionDefinition(, node))
     def addBinding(self, lineno, value, reportRedef=True):
         '''Called when a binding is altered.
                 Check to see if any assignments have not been used.
                 for name, binding in self.scope.items():
-                    if (not binding.used and not name in self.scope.globals
+                    try:
+                        if (not binding.used and not name in self.scope.globals
                         and isinstance(binding, Assignment)):
-              ,
+                  ,
                                     binding.source.lineno, name)
+                    except:
+                        raise Exception(binding)
+                        import pdb; pdb.set_trace()


+code2 = """
+    pass
+except ValueError:
+    print(err)
+    pass
+except ValueError:
+    print(err)
 class TestFlake(TestCase):
     def test_exception(self):
-        warnings = check(code)
-        self.assertEqual(warnings, 0)
+        for c in (code, code2):
+            warnings = check(code)
+            self.assertEqual(warnings, 0)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.