gobject-introspection r785 - in trunk: . tests/scanner tools



Author: tko
Date: Wed Oct 22 16:46:19 2008
New Revision: 785
URL: http://svn.gnome.org/viewvc/gobject-introspection?rev=785&view=rev

Log:
Bug 557379 â g-ir-generate not writing the 'abstract' attribute

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

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

Modified: trunk/tests/scanner/drawable-1.0-expected.tgir
==============================================================================
--- trunk/tests/scanner/drawable-1.0-expected.tgir	(original)
+++ trunk/tests/scanner/drawable-1.0-expected.tgir	Wed Oct 22 16:46:19 2008
@@ -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>

Modified: trunk/tests/scanner/drawable-injected-1.0-expected.tgir
==============================================================================
--- trunk/tests/scanner/drawable-injected-1.0-expected.tgir	(original)
+++ trunk/tests/scanner/drawable-injected-1.0-expected.tgir	Wed Oct 22 16:46:19 2008
@@ -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>

Modified: trunk/tests/scanner/foo-1.0-expected.tgir
==============================================================================
--- trunk/tests/scanner/foo-1.0-expected.tgir	(original)
+++ trunk/tests/scanner/foo-1.0-expected.tgir	Wed Oct 22 16:46:19 2008
@@ -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"/>

Modified: trunk/tools/generate.c
==============================================================================
--- trunk/tools/generate.c	(original)
+++ trunk/tools/generate.c	Wed Oct 22 16:46:19 2008
@@ -878,11 +878,13 @@
   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 @@
       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)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]