Remove field offsets from g-ir-generate output and test inputs
authorOwen Taylor <otaylor@src.gnome.org>
Tue, 11 Nov 2008 05:10:47 +0000 (05:10 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Tue, 11 Nov 2008 05:10:47 +0000 (05:10 +0000)
Field offsets are a) architecture dependent so they shouldn't be part
of the architecture-independent gir format which is installed in
datadir. b) Are architecture-dependent so they shouldn't be in test
expected output. Remove field offsets from girs.
(Virtual function and discriminator offsets are not removed, as they
aren't fully hooked up to the field-offset computation machinery yet.)

svn path=/trunk/; revision=877

ChangeLog
girepository/girparser.c
tests/boxed.gir
tests/scanner/annotation-1.0-expected.tgir
tests/scanner/drawable-1.0-expected.tgir
tests/scanner/drawable-injected-1.0-expected.tgir
tests/scanner/foo-1.0-expected.tgir
tests/scanner/utility-1.0-expected.tgir
tests/struct.gir
tests/union.gir
tools/generate.c

index 244fff3..aa7c53d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2008-11-10  Owen Taylor <otaylor@redhat.com>
+
+       Remove field offsets from g-ir-generate output and test inputs
+
+       Field offsets are a) architecture dependent so they shouldn't be part
+       of the architecture-independent gir format which is installed in
+       datadir. b) Are architecture-dependent so they shouldn't be in test
+       expected output.
+
+       * girepository/girparser.c: Don't parse offset for fields
+       * tools/generate.c: Don't parse offset for fields
+       * tests/*.gir test/scanner/*.tgir: Remove offsets
+
+       (Virtual function and discriminator offsets are not removed, as they
+       aren't fully hooked up to the field-offset computation machinery yet.)
+
 2008-11-10  Owen Taylor <otaylor@redhat.com>
 
        Bug 560252 - Compute field offsets before writing typelib
index 9221bb5..60937d9 100644 (file)
@@ -892,7 +892,6 @@ start_field (GMarkupParseContext *context,
   writable = find_attribute ("writable", attribute_names, attribute_values);
   bits = find_attribute ("bits", attribute_names, attribute_values);
   branch = find_attribute ("branch", attribute_names, attribute_values);
-  offset = find_attribute ("offset", attribute_names, attribute_values);
   
   if (name == NULL)
     {
@@ -914,11 +913,6 @@ start_field (GMarkupParseContext *context,
   else
     field->bits = 0;
   
-  if (offset)
-    field->offset = atoi (offset);
-  else
-    field->offset = 0;
-  
   switch (ctx->current_node->type)
     {
     case G_IR_NODE_OBJECT:
index 4d99328..58c190a 100644 (file)
@@ -5,13 +5,13 @@
             xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
   <namespace name="Foo" version="1.0">
     <glib:boxed glib:name="BoxedType1" glib:type-name="boxed1" glib:get-type="boxed1_get_type" deprecated="1">
-      <field name="field1" writable="1" offset="0">
+      <field name="field1" writable="1">
         <type name="uint32"/>
       </field>
-      <field name="field2" writable="1" offset="4">
+      <field name="field2" writable="1">
         <type name="uint32"/>
       </field>
-      <field name="field3" writable="1" offset="8">
+      <field name="field3" writable="1">
         <type name="uint32"/>
       </field>
       <method name="frob_boxed1" c:identifier="frob_boxed1">
index 0e4c655..e6f3a18 100644 (file)
@@ -32,7 +32,7 @@
       </parameters>
     </callback>
     <class name="Object" parent="GObject.Object" glib:type-name="AnnotationObject" glib:get-type="annotation_object_get_type">
-      <field name="parent_instance" offset="0">
+      <field name="parent_instance">
         <type name="GObject.Object"/>
       </field>
       <method name="method" c:identifier="annotation_object_method">
       </method>
     </class>
     <record name="ObjectClass">
-      <field name="parent_class" offset="0">
+      <field name="parent_class">
         <type name="GObject.ObjectClass"/>
       </field>
     </record>
index ab12178..0a31714 100644 (file)
@@ -8,7 +8,7 @@
   <include name="GLib" version="2.0"/>
   <namespace name="drawable" version="1.0" shared-library="drawable">
     <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">
+      <field name="parent_instance">
         <type name="GObject.Object"/>
       </field>
       <method name="do_foo" c:identifier="test_drawable_do_foo">
       </method>
     </class>
     <record name="TestDrawableClass">
-      <field name="parent_class" offset="0">
+      <field name="parent_class">
         <type name="GObject.ObjectClass"/>
       </field>
     </record>
     <record name="TestPixmapObjectClass">
-      <field name="parent_class" offset="0">
+      <field name="parent_class">
         <type name="TestDrawableClass"/>
       </field>
     </record>
index 9a1ee2b..4498f79 100644 (file)
@@ -8,7 +8,7 @@
   <include name="GLib" version="2.0"/>
   <namespace name="drawable" version="1.0" shared-library="drawable">
     <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">
+      <field name="parent_instance">
         <type name="GObject.Object"/>
       </field>
       <method name="do_foo" c:identifier="test_drawable_do_foo">
       </method>
     </class>
     <record name="TestDrawableClass">
-      <field name="parent_class" offset="0">
+      <field name="parent_class">
         <type name="GObject.ObjectClass"/>
       </field>
     </record>
     <record name="TestPixmapObjectClass">
-      <field name="parent_class" offset="0">
+      <field name="parent_class">
         <type name="TestDrawableClass"/>
       </field>
     </record>
index efe696c..9eb154d 100644 (file)
@@ -9,13 +9,13 @@
   <namespace name="foo" version="1.0" shared-library="foo">
     <interface name="Interface" glib:type-name="FooInterface" glib:get-type="foo_interface_get_type"/>
     <record name="InterfaceIface">
-      <field name="parent_iface" offset="0">
+      <field name="parent_iface">
         <type name="GObject.TypeInterface"/>
       </field>
     </record>
     <class name="Object" parent="GObject.Object" glib:type-name="FooObject" glib:get-type="foo_object_get_type">
       <implements name="Interface"/>
-      <field name="parent_instance" offset="0">
+      <field name="parent_instance">
         <type name="GObject.Object"/>
       </field>
       <constructor name="new" c:identifier="foo_object_new">
       </glib:signal>
     </class>
     <record name="ObjectClass">
-      <field name="parent_class" offset="0">
+      <field name="parent_class">
         <type name="GObject.ObjectClass"/>
       </field>
     </record>
     <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">
+      <field name="parent_instance">
         <type name="GObject.Object"/>
       </field>
       <constructor name="new" c:identifier="foo_subobject_new">
       </constructor>
     </class>
     <record name="SubobjectClass">
-      <field name="parent_class" offset="0">
+      <field name="parent_class">
         <type name="GObject.ObjectClass"/>
       </field>
     </record>
       </parameters>
     </callback>
     <record name="Struct">
-      <field name="priv" writable="1" offset="0">
+      <field name="priv" writable="1">
         <type name="StructPrivate"/>
       </field>
-      <field name="member" writable="1" offset="0">
+      <field name="member" writable="1">
         <type name="int"/>
       </field>
     </record>
     <record name="StructPrivate"/>
     <record name="Rectangle">
-      <field name="x" writable="1" offset="0">
+      <field name="x" writable="1">
         <type name="int"/>
       </field>
-      <field name="y" writable="1" offset="0">
+      <field name="y" writable="1">
         <type name="int"/>
       </field>
-      <field name="width" writable="1" offset="0">
+      <field name="width" writable="1">
         <type name="int"/>
       </field>
-      <field name="height" writable="1" offset="0">
+      <field name="height" writable="1">
         <type name="int"/>
       </field>
     </record>
       </parameters>
     </function>
     <record name="EventAny">
-      <field name="send_event" writable="1" offset="0">
+      <field name="send_event" writable="1">
         <type name="int8"/>
       </field>
     </record>
     <record name="EventExpose">
-      <field name="send_event" writable="1" offset="0">
+      <field name="send_event" writable="1">
         <type name="int8"/>
       </field>
-      <field name="count" writable="1" offset="0">
+      <field name="count" writable="1">
         <type name="int"/>
       </field>
     </record>
     <union name="Event">
-      <field name="type" writable="1" offset="0">
+      <field name="type" writable="1">
         <type name="int"/>
       </field>
-      <field name="any" writable="1" offset="0">
+      <field name="any" writable="1">
         <type name="EventAny"/>
       </field>
-      <field name="expose" writable="1" offset="0">
+      <field name="expose" writable="1">
         <type name="EventExpose"/>
       </field>
     </union>
     <record name="BRect" glib:type-name="FooBRect" glib:get-type="foo_brect_get_type">
-      <field name="x" writable="1" offset="0">
+      <field name="x" writable="1">
         <type name="double"/>
       </field>
-      <field name="y" writable="1" offset="0">
+      <field name="y" writable="1">
         <type name="double"/>
       </field>
       <constructor name="new" c:identifier="foo_brect_new">
       </method>
     </record>
     <union name="BUnion" type-name="FooBUnion" get-type="foo_bunion_get_type">
-      <field name="type" writable="1" offset="0">
+      <field name="type" writable="1">
         <type name="int"/>
       </field>
-      <field name="v" writable="1" offset="0">
+      <field name="v" writable="1">
         <type name="double"/>
       </field>
-      <field name="rect" writable="1" offset="0">
+      <field name="rect" writable="1">
         <type name="BRect"/>
       </field>
       <constructor name="new" c:identifier="foo_bunion_new">
       </method>
     </union>
     <union name="Union">
-      <field name="foo" writable="1" offset="0">
+      <field name="foo" writable="1">
         <type name="int"/>
       </field>
     </union>
index 924e0c0..236e2d7 100644 (file)
@@ -7,12 +7,12 @@
   <include name="GLib" version="2.0"/>
   <namespace name="utility" version="1.0" shared-library="utility">
     <class name="Object" parent="GObject.Object" glib:type-name="UtilityObject" glib:get-type="utility_object_get_type">
-      <field name="parent_instance" offset="0">
+      <field name="parent_instance">
         <type name="GObject.Object"/>
       </field>
     </class>
     <record name="ObjectClass">
-      <field name="parent_class" offset="0">
+      <field name="parent_class">
         <type name="GObject.ObjectClass"/>
       </field>
     </record>
       <member name="c" value="2"/>
     </enumeration>
     <record name="Struct">
-      <field name="field" writable="1" offset="0">
+      <field name="field" writable="1">
         <type name="int"/>
       </field>
-      <field name="bitfield1" writable="1" offset="0">
+      <field name="bitfield1" writable="1">
         <type name="uint"/>
       </field>
-      <field name="bitfield2" writable="1" offset="0">
+      <field name="bitfield2" writable="1">
         <type name="uint"/>
       </field>
-      <field name="data" writable="1" offset="0">
+      <field name="data" writable="1">
         <array fixed-size="16">
           <type name="uint8"/>
         </array>
       </field>
     </record>
     <union name="Union">
-      <field name="pointer" writable="1" offset="0">
+      <field name="pointer" writable="1">
         <type name="utf8"/>
       </field>
-      <field name="integer" writable="1" offset="0">
+      <field name="integer" writable="1">
         <type name="long"/>
       </field>
-      <field name="real" writable="1" offset="0">
+      <field name="real" writable="1">
         <type name="double"/>
       </field>
     </union>
index e76d4fc..ad728d1 100644 (file)
@@ -5,27 +5,27 @@
             xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
   <namespace name="Foo" version="1.0">
     <record name="FooStruct">
-      <field name="foo_int" writable="1" offset="0">
+      <field name="foo_int" writable="1">
         <type name="int"/>
       </field>
-      <field name="foo_int64" writable="1" offset="4">
+      <field name="foo_int64" writable="1">
         <type name="int64"/>
       </field>
-      <field name="foo_uint" writable="1" offset="12">
+      <field name="foo_uint" writable="1">
         <type name="uint"/>
       </field>
-      <field name="foo_uint64" writable="1" offset="16">
+      <field name="foo_uint64" writable="1">
         <type name="uint64"/>
       </field>
-      <field name="string" writable="1" offset="24">
+      <field name="string" writable="1">
         <type name="utf8"/>
       </field>
     </record>
     <record name="FooStruct2">
-      <field name="sub" writable="1" offset="0">
+      <field name="sub" writable="1">
         <type name="FooStruct"/>
       </field>
-      <field name="string" writable="1" offset="24">
+      <field name="string" writable="1">
         <type name="utf8"/>
       </field>
     </record>
index 3ace0e2..6e123de 100644 (file)
@@ -6,12 +6,12 @@
   <namespace name="Foo" version="1.0">
     <union name="union1" type-name="UnionType1" get-type="union1_get_type">
       <discriminator offset="-4" type="gint" />
-      <field name="field1" readable="1" writable="1" offset="0" type="guint32" branch="0" />
-      <field name="field1" readable="1" writable="1" offset="0" type="gdouble" branch="1" />
+      <field name="field1" readable="1" writable="1" type="guint32" branch="0" />
+      <field name="field1" readable="1" writable="1" type="gdouble" branch="1" />
     </union>
     <union name="union2" type-name="UnionType1" get-type="union1_get_type">
-      <field name="field1" readable="1" writable="1" offset="0" type="guint32" />
-      <field name="field1" readable="1" writable="1" offset="0" type="gdouble" />
+      <field name="field1" readable="1" writable="1" type="guint32" />
+      <field name="field1" readable="1" writable="1" type="gdouble" />
     </union>
   </namespace>
 </repository>
index c9b2f8a..840de7c 100644 (file)
@@ -354,8 +354,6 @@ write_field_info (const gchar *namespace,
   if (size)
     xml_printf (file, " bits=\"%d\"", size);
 
-  xml_printf (file, " offset=\"%d\"", offset);
-
   type = g_field_info_get_type (info);
 
   if (branch)