diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | tests/scanner/drawable-1.0-expected.tgir | 2 | ||||
-rw-r--r-- | tests/scanner/drawable-injected-1.0-expected.tgir | 2 | ||||
-rw-r--r-- | tests/scanner/foo-1.0-expected.tgir | 2 | ||||
-rw-r--r-- | tools/generate.c | 5 |
5 files changed, 18 insertions, 3 deletions
@@ -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: diff --git a/tests/scanner/drawable-1.0-expected.tgir b/tests/scanner/drawable-1.0-expected.tgir index 6fa1843a..1eef9886 100644 --- a/tests/scanner/drawable-1.0-expected.tgir +++ b/tests/scanner/drawable-1.0-expected.tgir @@ -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> diff --git a/tests/scanner/drawable-injected-1.0-expected.tgir b/tests/scanner/drawable-injected-1.0-expected.tgir index be88c572..fba3d099 100644 --- a/tests/scanner/drawable-injected-1.0-expected.tgir +++ b/tests/scanner/drawable-injected-1.0-expected.tgir @@ -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> diff --git a/tests/scanner/foo-1.0-expected.tgir b/tests/scanner/foo-1.0-expected.tgir index e1bc8f52..5bc3d67e 100644 --- a/tests/scanner/foo-1.0-expected.tgir +++ b/tests/scanner/foo-1.0-expected.tgir @@ -115,7 +115,7 @@ <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"/> diff --git a/tools/generate.c b/tools/generate.c index b6e6fc86..8a3b1d86 100644 --- a/tools/generate.c +++ b/tools/generate.c @@ -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) |