loci: generate less code and tests for virtual classes
Most uses of type_maps.class_is_inheritance_root are bugs. Generally you
actually want to know if a class is virtual. This is complicated somewhat by
lists also being virtual.
diff --git a/c_gen/c_show_gen.py b/c_gen/c_show_gen.py
index 03a55d5..d1cbbdb 100644
--- a/c_gen/c_show_gen.py
+++ b/c_gen/c_show_gen.py
@@ -163,7 +163,7 @@
for cls in of_g.standard_class_order:
if not loxi_utils.class_in_version(cls, version):
continue
- if type_maps.class_is_inheritance_root(cls):
+ if type_maps.class_is_virtual(cls):
continue
out.write("""\
int %(cls)s_%(ver_name)s_show(loci_writer_f writer, void* cookie, of_object_t *obj);
@@ -202,7 +202,7 @@
for cls in of_g.standard_class_order:
if not loxi_utils.class_in_version(cls, version):
continue
- if type_maps.class_is_inheritance_root(cls):
+ if type_maps.class_is_virtual(cls):
continue
out.write("""
int
@@ -302,7 +302,7 @@
comma = ","
if (not loxi_utils.class_in_version(cls, version) or
- type_maps.class_is_inheritance_root(cls)):
+ type_maps.class_is_virtual(cls)):
out.write(" unknown_show%s\n" % comma);
else:
out.write(" %s_%s_show%s\n" %