support special comparison methods in method dispatch transforms
authorStefan Behnel <stefan_ml@behnel.de>
Thu, 21 Feb 2013 22:52:15 +0000 (23:52 +0100)
committerStefan Behnel <stefan_ml@behnel.de>
Thu, 21 Feb 2013 22:52:15 +0000 (23:52 +0100)
Cython/Compiler/Visitor.py

index 469d3cc..777e0c0 100644 (file)
@@ -492,7 +492,16 @@ class MethodDispatcherTransform(EnvTransform):
             args = node.args
         return self._dispatch_to_handler(node, function, args, None)
 
+    def visit_PrimaryCmpNode(self, node):
+        return self._visit_binop_node(node)
+
+    def visit_CascadedCmpNode(self, node):
+        return self._visit_binop_node(node)
+
     def visit_BinopNode(self, node):
+        return self._visit_binop_node(node)
+
+    def _visit_binop_node(self, node):
         self.visitchildren(node)
         # FIXME: could special case 'not_in'
         special_method_name = find_special_method_for_binary_operator(node.operator)