File tree Expand file tree Collapse file tree 1 file changed +21
-2
lines changed Expand file tree Collapse file tree 1 file changed +21
-2
lines changed Original file line number Diff line number Diff line change 273
273
}
274
274
'''
275
275
276
+ #
277
+ # Get the base class
278
+ #
279
+ def get_base_class (klass ):
280
+ if (klass == 'Object' ):
281
+ return klass ;
282
+
283
+ if (not (klass in klasses )):
284
+ return None ;
285
+
286
+ k = klasses [klass ];
287
+
288
+ return get_base_class (k ['parent' ]);
289
+
276
290
#
277
291
# Loads class hierarchy and type information from "objects.h".
278
292
#
@@ -311,12 +325,14 @@ def load_objects():
311
325
typestr += line ;
312
326
continue ;
313
327
314
- match = re .match ('class (\w[^\s :]*)(: public (\w[^\s {]*))?\s*{' ,
328
+ match = re .match ('class (\w[^:]*)(: public (\w[^{]*))?\s*{\s* ' ,
315
329
line );
316
330
317
331
if (match ):
318
- klass = match .group (1 );
332
+ klass = match .group (1 ). rstrip (). lstrip () ;
319
333
pklass = match .group (3 );
334
+ if (pklass ):
335
+ pklass = pklass .rstrip ().lstrip ();
320
336
klasses [klass ] = { 'parent' : pklass };
321
337
322
338
#
@@ -567,6 +583,9 @@ def emit_config():
567
583
keys .sort ();
568
584
for klassname in keys :
569
585
pklass = klasses [klassname ]['parent' ];
586
+ bklass = get_base_class (klassname );
587
+ if (bklass != 'Object' ):
588
+ continue ;
570
589
if (pklass == None ):
571
590
continue ;
572
591
You can’t perform that action at this time.
0 commit comments