code simplification
authorStefan Behnel <scoder@users.berlios.de>
Mon, 15 Nov 2010 22:02:14 +0000 (23:02 +0100)
committerStefan Behnel <scoder@users.berlios.de>
Mon, 15 Nov 2010 22:02:14 +0000 (23:02 +0100)
Cython/Compiler/Visitor.py

index 283b09eb3fcdcbaea8d77485af54044bb548f0f8..411500a8c493bd07626bb1d96e248b3db075d90c 100644 (file)
@@ -141,19 +141,15 @@ class TreeVisitor(object):
         mro = inspect.getmro(cls)
         handler_method = None
         for mro_cls in mro:
-            if hasattr(self, pattern % mro_cls.__name__):
-                handler_method = getattr(self, pattern % mro_cls.__name__)
-                break
-        if handler_method is None:
-            print type(self), cls
-            if hasattr(self, 'access_path') and self.access_path:
-                print self.access_path
-                if self.access_path:
-                    print self.access_path[-1][0].pos
-                    print self.access_path[-1][0].__dict__
-            raise RuntimeError("Visitor %r does not accept object: %s" % (self, obj))
-        #print "Caching " + cls.__name__
-        return handler_method
+            handler_method = getattr(self, pattern % mro_cls.__name__, None)
+            if handler_method is not None:
+                return handler_method
+        print type(self), cls
+        if self.access_path:
+            print self.access_path
+            print self.access_path[-1][0].pos
+            print self.access_path[-1][0].__dict__
+        raise RuntimeError("Visitor %r does not accept object: %s" % (self, obj))
 
     def visit(self, obj):
         return self._visit(obj)