summaryrefslogtreecommitdiff
path: root/tests/scanner
diff options
context:
space:
mode:
authorColin Walters <walters@src.gnome.org>2008-09-06 20:33:51 +0000
committerColin Walters <walters@src.gnome.org>2008-09-06 20:33:51 +0000
commite28078c70cbf4a57c7dbd39626f43f9bd2674145 (patch)
tree1ab870b5a41cbc3e3a8a70f62b83f6e419049737 /tests/scanner
parentc5eb6a47cedf58210b4d3d73baced9a253e8ae51 (diff)
downloadgobject-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.gir23
-rw-r--r--tests/scanner/utility-expected.gir3
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>