summaryrefslogtreecommitdiff
path: root/Cython/Compiler/ModuleNode.py
diff options
context:
space:
mode:
authorStefan Behnel <stefan_ml@behnel.de>2016-08-30 11:47:18 +0200
committerStefan Behnel <stefan_ml@behnel.de>2016-08-30 11:47:18 +0200
commit2ca582e4e1873906798c8cb34358aa489370ff59 (patch)
tree3d0d3fe9b0c60229086f6f55e2d01a8eec6d7b37 /Cython/Compiler/ModuleNode.py
parent2eb51aabb80f41b9f41d3791c1c5215d604f231f (diff)
downloadcython-2ca582e4e1873906798c8cb34358aa489370ff59.tar.gz
avoid generating a PyMethodDef entry for the newly implemented CyFunction methods
Diffstat (limited to 'Cython/Compiler/ModuleNode.py')
-rw-r--r--Cython/Compiler/ModuleNode.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py
index cb2ab97b3..80e61e660 100644
--- a/Cython/Compiler/ModuleNode.py
+++ b/Cython/Compiler/ModuleNode.py
@@ -1975,12 +1975,13 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
def generate_method_table(self, env, code):
if env.is_c_class_scope and not env.pyfunc_entries:
return
+ binding = env.directives['binding']
code.putln("")
code.putln(
"static PyMethodDef %s[] = {" % (
env.method_table_cname))
for entry in env.pyfunc_entries:
- if not entry.fused_cfunction:
+ if not entry.fused_cfunction and not (binding and entry.is_overridable):
code.put_pymethoddef(entry, ",")
code.putln(
"{0, 0, 0, 0}")