@@ -215,6 +215,7 @@ def assertions(self):
215215 assert self .outputSetattr .im_func == PEP252Mixin .outputSetattr .im_func
216216 assert self .outputGetattrBody == None
217217 assert self .outputGetattrHook == None
218+ assert self .basechain == "NULL"
218219
219220 def outputGetattr (self ):
220221 pass
@@ -293,39 +294,45 @@ def outputGetSetList(self):
293294 self .outputGetter (name , get )
294295 else :
295296 Output ("#define %s_get_%s NULL" , self .prefix , name )
297+ Output ()
296298 if set :
297299 self .outputSetter (name , set )
298300 else :
299301 Output ("#define %s_set_%s NULL" , self .prefix , name )
302+ Output ()
300303
301304 Output ("static PyGetSetDef %s_getsetlist[] = {" , self .prefix )
302305 IndentLevel ()
303306 for name , get , set , doc in self .getsetlist :
304307 if doc :
305- doc = ` doc`
308+ doc = '"' + doc + '"'
306309 else :
307310 doc = "NULL"
308- Output ("{\" %s\" , (getter)%s_get_%s, (setter)%s_set_%s, %s}" ,
311+ Output ("{\" %s\" , (getter)%s_get_%s, (setter)%s_set_%s, %s}, " ,
309312 name , self .prefix , name , self .prefix , name , doc )
313+ Output ("{NULL, NULL, NULL, NULL}," )
310314 DedentLevel ()
311315 Output ("};" )
312316 else :
313317 Output ("#define %s_getsetlist NULL" , self .prefix )
318+ Output ()
314319
315320 def outputGetter (self , name , code ):
316321 Output ("static PyObject *%s_get_%s(%s *self, void *closure)" ,
317322 self .prefix , name , self .objecttype )
318323 OutLbrace ()
319324 Output (code )
320325 OutRbrace ()
326+ Output ()
321327
322328 def outputSetter (self , name , code ):
323- Output ("static int %s_get_ %s(%s *self, PyObject *v, void *closure)" ,
329+ Output ("static int %s_set_ %s(%s *self, PyObject *v, void *closure)" ,
324330 self .prefix , name , self .objecttype )
325331 OutLbrace ()
326332 Output (code )
327333 Output ("return 0;" )
328334 OutRbrace ()
335+ Output ()
329336
330337class GlobalObjectDefinition (ObjectDefinition ):
331338 """Like ObjectDefinition but exports some parts.
0 commit comments