diff options
author | Colin Walters <walters@src.gnome.org> | 2008-09-06 20:33:51 +0000 |
---|---|---|
committer | Colin Walters <walters@src.gnome.org> | 2008-09-06 20:33:51 +0000 |
commit | e28078c70cbf4a57c7dbd39626f43f9bd2674145 (patch) | |
tree | 1ab870b5a41cbc3e3a8a70f62b83f6e419049737 /tests/scanner | |
parent | c5eb6a47cedf58210b4d3d73baced9a253e8ae51 (diff) | |
download | gobject-introspection-e28078c70cbf4a57c7dbd39626f43f9bd2674145.tar.gz |
Allow both union and struct to be boxed or not
* girepository/girnode.c: Allow gtype_name
and gtype_init in struct and union.
* girepository/girparser.c: Parse glib:
boxed bits for both structure and union.
* girepository/gtypelib.c: Don't barf
if structure is boxed.
* giscanner/girparser.py: Parse new XML
format.
* giscanner/girwriter.py: Write out new
XML format.
* giscanner/glibast.py: Define new classes
which are both Boxed and Struct/Union, as
well as an "Other" for everything else.
* giscanner/glibtransformer.py: Handle
boxed types specially; we try to merge
them with a struct/union if one exists,
otherwise fall back to generic boxed.
* tests/*: Update.
* tools/generate.c: Write out new format.
svn path=/trunk/; revision=575
Diffstat (limited to 'tests/scanner')
-rw-r--r-- | tests/scanner/foo-expected.gir | 23 | ||||
-rw-r--r-- | tests/scanner/utility-expected.gir | 3 |
2 files changed, 14 insertions, 12 deletions
diff --git a/tests/scanner/foo-expected.gir b/tests/scanner/foo-expected.gir index 649c5e7b..a53e778c 100644 --- a/tests/scanner/foo-expected.gir +++ b/tests/scanner/foo-expected.gir @@ -232,15 +232,10 @@ <member name="deux" value="2" c:identifier="FOO_ENUM_DEUX"/> <member name="trois" value="3" c:identifier="FOO_ENUM_TROIS"/> </enumeration> - <glib:boxed c:type="FooBoxed" - glib:name="Boxed" - glib:type-name="FooBoxed" - glib:get-type="foo_boxed_get_type"> - <constructor name="new" c:identifier="foo_boxed_new"> - <return-value> - <type name="Boxed" c:type="FooBoxed*"/> - </return-value> - </constructor> + <record name="Boxed" + c:type="FooBoxed" + glib:type-name="FooBoxed" + glib:get-type="foo_boxed_get_type"> <method name="method" c:identifier="foo_boxed_method"> <return-value> <type name="none" c:type="void"/> @@ -251,7 +246,12 @@ </parameter> </parameters> </method> - </glib:boxed> + </record> + <function name="boxed_new" c:identifier="foo_boxed_new"> + <return-value> + <type name="Boxed" c:type="FooBoxed*"/> + </return-value> + </function> <callback name="Callback" c:type="FooCallback"> <return-value> <type name="boolean" c:type="gboolean"/> @@ -276,7 +276,8 @@ <type name="int" c:type="int"/> </field> </record> - <record name="StructPrivate" c:type="FooStructPrivate"/> + <record name="StructPrivate" c:type="FooStructPrivate"> + </record> <record name="Rectangle" c:type="FooRectangle"> <field name="x"> <type name="int" c:type="gint"/> diff --git a/tests/scanner/utility-expected.gir b/tests/scanner/utility-expected.gir index 7e262e1f..9735675a 100644 --- a/tests/scanner/utility-expected.gir +++ b/tests/scanner/utility-expected.gir @@ -27,6 +27,7 @@ <member name="b" value="1" c:identifier="UTILITY_FLAG_B"/> <member name="c" value="2" c:identifier="UTILITY_FLAG_C"/> </enumeration> - <record name="Struct" c:type="UtilityStruct"/> + <record name="Struct" c:type="UtilityStruct"> + </record> </namespace> </repository> |