summaryrefslogtreecommitdiffstats
path: root/Tools/bgen
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/bgen')
-rw-r--r--Tools/bgen/bgen/bgenModule.py1
-rw-r--r--Tools/bgen/bgen/bgenObjectDefinition.py9
2 files changed, 9 insertions, 1 deletions
diff --git a/Tools/bgen/bgen/bgenModule.py b/Tools/bgen/bgen/bgenModule.py
index 5f94b904..ea1ea23 100644
--- a/Tools/bgen/bgen/bgenModule.py
+++ b/Tools/bgen/bgen/bgenModule.py
@@ -19,6 +19,7 @@ class Module(GeneratorGroup):
def addobject(self, od):
self.generators.append(od)
self.typeobjects.append(od)
+ od.setmodulename(self.name)
def generate(self):
OutHeader1("Module " + self.name)
diff --git a/Tools/bgen/bgen/bgenObjectDefinition.py b/Tools/bgen/bgen/bgenObjectDefinition.py
index 1d5cb22..71cf21d 100644
--- a/Tools/bgen/bgen/bgenObjectDefinition.py
+++ b/Tools/bgen/bgen/bgenObjectDefinition.py
@@ -22,6 +22,7 @@ class ObjectDefinition(GeneratorGroup):
self.typename = name + '_Type'
self.argref = "" # set to "*" if arg to <type>_New should be pointer
self.static = "static " # set to "" to make <type>_New and <type>_Convert public
+ self.modulename = None
def add(self, g, dupcheck=0):
g.setselftype(self.objecttype, self.itselftype)
@@ -30,6 +31,9 @@ class ObjectDefinition(GeneratorGroup):
def reference(self):
# In case we are referenced from a module
pass
+
+ def setmodulename(self, name):
+ self.modulename = name
def generate(self):
# XXX This should use long strings and %(varname)s substitution!
@@ -166,7 +170,10 @@ class ObjectDefinition(GeneratorGroup):
IndentLevel()
Output("PyObject_HEAD_INIT(NULL)")
Output("0, /*ob_size*/")
- Output("\"%s\", /*tp_name*/", self.name)
+ if self.modulename:
+ Output("\"%s.%s\", /*tp_name*/", self.modulename, self.name)
+ else:
+ Output("\"%s\", /*tp_name*/", self.name)
Output("sizeof(%s), /*tp_basicsize*/", self.objecttype)
Output("0, /*tp_itemsize*/")
Output("/* methods */")