diff options
author | Johan Dahlin <johan@gnome.org> | 2008-08-14 19:45:37 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2008-08-14 19:45:37 +0000 |
commit | 240b76445bcff480d8cfa8351bd84744d53bf897 (patch) | |
tree | 4d4ce5b2075481133fef183010dc71cd2ee91124 | |
parent | 604c558fcacab03601f9531bb69053d2c202b7c5 (diff) | |
download | gobject-introspection-240b76445bcff480d8cfa8351bd84744d53bf897.tar.gz |
Fix generator for constant/gobject/struct
2008-08-14 Johan Dahlin <johan@gnome.org>
* tests/Makefile.am:
* tests/constant.gir:
* tests/gobject.gir:
* tests/struct.gir:
* tools/generate.c (write_struct_info):
Fix generator for constant/gobject/struct
svn path=/trunk/; revision=379
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | tests/Makefile.am | 12 | ||||
-rw-r--r-- | tests/constant.gir | 20 | ||||
-rw-r--r-- | tests/gobject.gir | 4 | ||||
-rw-r--r-- | tests/interface.gir | 54 | ||||
-rw-r--r-- | tests/struct.gir | 36 | ||||
-rw-r--r-- | tools/generate.c | 4 |
7 files changed, 97 insertions, 42 deletions
@@ -1,6 +1,15 @@ 2008-08-14 Johan Dahlin <johan@gnome.org> * tests/Makefile.am: + * tests/constant.gir: + * tests/gobject.gir: + * tests/struct.gir: + * tools/generate.c (write_struct_info): + Fix generator for constant/gobject/struct + +2008-08-14 Johan Dahlin <johan@gnome.org> + + * tests/Makefile.am: * tests/enum.gir: * tools/generate.c (write_enum_info): Fix generation of enum/bitfields diff --git a/tests/Makefile.am b/tests/Makefile.am index bb55f256..7ee560b3 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -3,7 +3,6 @@ SUBDIRS = . invoke scanner EXTRA_DIST = \ array.gir \ boxed.gir \ - constant.gir \ enum.gir \ errors.gir \ function.gir \ @@ -16,10 +15,13 @@ EXTRA_DIST = \ xref1.gir \ xref2.gir -GIRTESTS = \ - boxed.gir.test \ - enum.gir.test \ - object.gir.test +GIRTESTS = \ + boxed.gir.test \ + constant.gir.test \ + enum.gir.test \ + gobject.gir.test \ + object.gir.test \ + struct.gir.test %.gir.test: %.gir @echo Testing $<: diff --git a/tests/constant.gir b/tests/constant.gir index f5da5358..c64bd930 100644 --- a/tests/constant.gir +++ b/tests/constant.gir @@ -4,10 +4,20 @@ xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0"> <namespace name="Foo"> - <constant name="constant1" type="gint" value="42" /> - <constant name="constant2" type="guint" value="42" /> - <constant name="constant3" type="guint64" value="42" /> - <constant name="constant4" type="gint32" value="42" /> - <constant name="constant5" type="gfloat" value="42.000000" /> + <constant name="constant1" value="42"> + <type name="int"/> + </constant> + <constant name="constant2" value="42"> + <type name="uint"/> + </constant> + <constant name="constant3" value="42"> + <type name="int64"/> + </constant> + <constant name="constant4" value="42"> + <type name="int32"/> + </constant> + <constant name="constant5" value="42.000000"> + <type name="float"/> + </constant> </namespace> </repository> diff --git a/tests/gobject.gir b/tests/gobject.gir index aa4aa3ae..33de9625 100644 --- a/tests/gobject.gir +++ b/tests/gobject.gir @@ -4,7 +4,7 @@ xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0"> <namespace name="GObject"> - <object name="GObject" type-name="GObject" get-type="g_object_get_type"> - </object> + <class name="GObject" glib:type-name="GObject" glib:get-type="g_object_get_type"> + </class> </namespace> </repository> diff --git a/tests/interface.gir b/tests/interface.gir index 35ea45eb..74fd4205 100644 --- a/tests/interface.gir +++ b/tests/interface.gir @@ -4,38 +4,58 @@ xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0"> <namespace name="Foo"> - <interface name="Iface1" type-name="Iface1" get-type="iface1_get_type"> + <interface name="Iface1" glib:type-name="Iface1" glib:get-type="iface1_get_type"> <requires> - <interface name="Iface2" /> + <interface name="Iface2" /> </requires> <method name="method1" symbol="method1"> - <return-type type="Iface2*" transfer="full" /> + <return-value transfer="full"> + <type name="Iface2*"/> + </return-value> <parameters> - <parameter name="param1" type="Iface2*" transfer="full" direction="in" /> + <parameter name="param1" transfer="full" direction="in"> + <type name="Iface2*"/> + </parameter> </parameters> </method> - <property name="prop1" readable="0" writable="0" type="gint" /> - <signal name="signal1" when="LAST"> - <return-type type="gboolean" /> + <property name="prop1" readable="0" writable="0"> + <type name="int"/> + </property> + <glib:signal name="signal1" when="LAST"> + <return-value transfer="full"> + <type name="boolean"/> + </return-value> <parameters> - <parameter name="obj" type="Iface1*" transfer="full" direction="in" /> + <parameter name="obj" transfer="full" direction="in"> + <type name="Iface2*"/> + </parameter> </parameters> - </signal> - <signal name="signal2" when="FIRST" no-recurse="1" detailed="1" action="1" no-hooks="1"> - <return-type type="void" /> + </glib:signal> + <glib:signal name="signal2" when="FIRST" no-recurse="1" detailed="1" action="1" no-hooks="1"> + <return-value transfer="full"> + <type name="none"/> + </return-value> <parameters> - <parameter name="obj" type="Iface1*" transfer="full" direction="in" /> + <parameter name="obj" transfer="full" direction="in"> + <type name="Iface1*"/> + </parameter> </parameters> - </signal> + </glib:signal> <vfunc name="vfunc1" offset="10"> - <return-type type="Iface2*" transfer="full" /> + <return-value transfer="full"> + <type name="Iface2*"/> + </return-value> <parameters> - <parameter name="param1" type="Iface2*" transfer="full" direction="in" /> + <parameter name="param1" transfer="full" direction="in"> + <type name="Iface2*"/> + </parameter> </parameters> </vfunc> - <constant name="constant1" type="gint" value="42" /> + <constant name="constant1" value="42"> + <type name="gint"/> + </constant> </interface> - <interface name="Iface2" type-name="Iface2" get-type="iface2_get_type"> + <interface name="Iface2" glib:type-name="Iface2" glib:get-type="iface2_get_type"> </interface> </namespace> </repository> diff --git a/tests/struct.gir b/tests/struct.gir index e94a4352..ff659cb1 100644 --- a/tests/struct.gir +++ b/tests/struct.gir @@ -4,16 +4,30 @@ xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0"> <namespace name="Foo"> - <struct name="FooStruct"> - <field name="foo_int" readable="1" writable="1" offset="0" type="gint" /> - <field name="foo_int64" readable="1" writable="1" offset="4" type="gint64" /> - <field name="foo_uint" readable="1" writable="1" offset="12" type="gint" /> - <field name="foo_uint64" readable="1" writable="1" offset="16" type="gint64" /> - <field name="string" readable="1" writable="1" offset="24" type="utf8" /> - </struct> - <struct name="FooStruct2"> - <field name="sub" readable="1" writable="1" offset="0" type="FooStruct" /> - <field name="string" readable="1" writable="1" offset="24" type="utf8" /> - </struct> + <record name="FooStruct"> + <field name="foo_int" readable="1" writable="1" offset="0"> + <type name="int"/> + </field> + <field name="foo_int64" readable="1" writable="1" offset="4"> + <type name="int64"/> + </field> + <field name="foo_uint" readable="1" writable="1" offset="12"> + <type name="uint"/> + </field> + <field name="foo_uint64" readable="1" writable="1" offset="16"> + <type name="uint64"/> + </field> + <field name="string" readable="1" writable="1" offset="24"> + <type name="utf8"/> + </field> + </record> + <record name="FooStruct2"> + <field name="sub" readable="1" writable="1" offset="0"> + <type name="FooStruct"/> + </field> + <field name="string" readable="1" writable="1" offset="24"> + <type name="utf8"/> + </field> + </record> </namespace> </repository> diff --git a/tools/generate.c b/tools/generate.c index 4cbf23ec..3e6a8f82 100644 --- a/tools/generate.c +++ b/tools/generate.c @@ -434,7 +434,7 @@ write_struct_info (const gchar *namespace, g_fprintf (file, " <glib:boxed glib:name=\"%s\" glib:type-name=\"%s\" glib:get-type=\"%s\"", name, type_name, type_init); } else - g_fprintf (file, " <struct name=\"%s\"", name); + g_fprintf (file, " <record name=\"%s\"", name); if (deprecated) g_fprintf (file, " deprecated=\"1\""); @@ -458,7 +458,7 @@ write_struct_info (const gchar *namespace, if (g_base_info_get_type ((GIBaseInfo *)info) == GI_INFO_TYPE_BOXED) g_fprintf (file, " </glib:boxed>\n"); else - g_fprintf (file, " </struct>\n"); + g_fprintf (file, " </record>\n"); } static void |