Bug 557379 – g-ir-generate not writing the 'abstract' attribute
authorTommi Komulainen <tommi.komulainen@iki.fi>
Wed, 22 Oct 2008 16:46:19 +0000 (16:46 +0000)
committerTommi Komulainen <tko@src.gnome.org>
Wed, 22 Oct 2008 16:46:19 +0000 (16:46 +0000)
2008-10-22  Tommi Komulainen  <tommi.komulainen@iki.fi>

* tests/scanner/drawable-1.0-expected.tgir:
* tests/scanner/drawable-injected-1.0-expected.tgir:
* tests/scanner/foo-1.0-expected.tgir:
* tools/generate.c (write_object_info): write 'abstract'
attribute for classes

svn path=/trunk/; revision=785

ChangeLog
tests/scanner/drawable-1.0-expected.tgir
tests/scanner/drawable-injected-1.0-expected.tgir
tests/scanner/foo-1.0-expected.tgir
tools/generate.c

index 945036e..57c95f1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2008-10-22  Tommi Komulainen  <tommi.komulainen@iki.fi>
 
+       Bug 557379 – g-ir-generate not writing the 'abstract' attribute
+
+       * tests/scanner/drawable-1.0-expected.tgir:
+       * tests/scanner/drawable-injected-1.0-expected.tgir:
+       * tests/scanner/foo-1.0-expected.tgir:
+       * tools/generate.c (write_object_info): write 'abstract'
+       attribute for classes
+
+2008-10-22  Tommi Komulainen  <tommi.komulainen@iki.fi>
+
        Bug 557377 – Add test to ensure annotations survive the roundtrip via typelib
 
        * tests/scanner/Makefile.am:
index 6fa1843..1eef988 100644 (file)
@@ -7,7 +7,7 @@
   <include name="GObject" version="2.0"/>
   <include name="GLib" version="2.0"/>
   <namespace name="drawable" version="1.0" shared-library="drawable">
-    <class name="TestDrawable" parent="GObject.Object" glib:type-name="TestDrawable" glib:get-type="test_drawable_get_type">
+    <class name="TestDrawable" parent="GObject.Object" abstract="1" glib:type-name="TestDrawable" glib:get-type="test_drawable_get_type">
       <field name="parent_instance" offset="0">
         <type name="GObject.Object"/>
       </field>
index be88c57..fba3d09 100644 (file)
@@ -7,7 +7,7 @@
   <include name="GObject" version="2.0"/>
   <include name="GLib" version="2.0"/>
   <namespace name="drawable" version="1.0" shared-library="drawable">
-    <class name="TestDrawable" parent="GObject.Object" glib:type-name="TestDrawable" glib:get-type="test_drawable_get_type">
+    <class name="TestDrawable" parent="GObject.Object" abstract="1" glib:type-name="TestDrawable" glib:get-type="test_drawable_get_type">
       <field name="parent_instance" offset="0">
         <type name="GObject.Object"/>
       </field>
index e1bc8f5..5bc3d67 100644 (file)
         <type name="GObject.ObjectClass"/>
       </field>
     </record>
-    <class name="Subobject" parent="Object" glib:type-name="FooSubobject" glib:get-type="foo_subobject_get_type">
+    <class name="Subobject" parent="Object" abstract="1" glib:type-name="FooSubobject" glib:get-type="foo_subobject_get_type">
       <implements name="Interface"/>
       <field name="parent_instance" offset="0">
         <type name="GObject.Object"/>
index b6e6fc8..8a3b1d8 100644 (file)
@@ -878,11 +878,13 @@ write_object_info (const gchar  *namespace,
   const gchar *type_name;
   const gchar *type_init;
   gboolean deprecated;
+  gboolean is_abstract;
   GIObjectInfo *pnode;
   gint i;
 
   name = g_base_info_get_name ((GIBaseInfo *)info);
   deprecated = g_base_info_is_deprecated ((GIBaseInfo *)info);
+  is_abstract = g_object_info_get_abstract (info);
   
   type_name = g_registered_type_info_get_type_name ((GIRegisteredTypeInfo*)info);
   type_init = g_registered_type_info_get_type_init ((GIRegisteredTypeInfo*)info);
@@ -896,6 +898,9 @@ write_object_info (const gchar  *namespace,
       g_base_info_unref ((GIBaseInfo *)pnode);
     }
 
+  if (is_abstract)
+    xml_printf (file, " abstract=\"1\"");
+
   xml_printf (file, " glib:type-name=\"%s\" glib:get-type=\"%s\"", type_name, type_init);
 
   if (deprecated)