]> gitweb.factorcode.org Git - factor.git/commitdiff
gobject-introspection: remove tests (because they don't work);
authorAnton Gorenko <ex.rzrjck@gmail.com>
Mon, 15 Nov 2010 15:51:49 +0000 (21:51 +0600)
committerAnton Gorenko <ex.rzrjck@gmail.com>
Mon, 15 Nov 2010 15:51:49 +0000 (21:51 +0600)
basis/gobject-introspection/tests/codegen.factor [deleted file]
basis/gobject-introspection/tests/everything/Everything-1.0.gir [deleted file]
basis/gobject-introspection/tests/everything/everything.factor [deleted file]
basis/gobject-introspection/tests/everything/ffi/ffi.factor [deleted file]
basis/gobject-introspection/tests/g-i-marshalling-tests/GIMarshallingTests-1.0.gir [deleted file]
basis/gobject-introspection/tests/g-i-marshalling-tests/ffi/ffi.factor [deleted file]
basis/gobject-introspection/tests/g-i-marshalling-tests/g-i-marshalling-tests.factor [deleted file]
basis/gobject-introspection/tests/marshalling.factor [deleted file]

diff --git a/basis/gobject-introspection/tests/codegen.factor b/basis/gobject-introspection/tests/codegen.factor
deleted file mode 100644 (file)
index 0a28b68..0000000
+++ /dev/null
@@ -1,267 +0,0 @@
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: glib.ffi gobject-introspection.tests.everything.ffi
-io.streams.string see tools.test ;
-IN: gobject-introspection.tests.godegen
-
-! Constants
-
-[ "IN: glib.ffi
-CONSTANT: G_ASCII_DTOSTR_BUF_SIZE 39 inline
-" ] [
-    [ \ G_ASCII_DTOSTR_BUF_SIZE see ] with-string-writer
-] unit-test
-
-[ "IN: glib.ffi
-CONSTANT: G_CSET_a_2_z \"abcdefghijklmnopqrstuvwxyz\" inline
-" ] [
-    [ \ G_CSET_a_2_z see ] with-string-writer
-] unit-test
-
-[ "IN: glib.ffi
-CONSTANT: G_E 2.71828182846 inline
-" ] [
-    [ \ G_E see ] with-string-writer
-] unit-test
-
-! Enumerations
-
-[ "USING: alien.c-types alien.syntax ;
-IN: gobject-introspection.tests.everything.ffi
-TYPEDEF: int TestEnum
-" ] [
-    [ \ TestEnum see ] with-string-writer
-] unit-test
-
-[ "IN: gobject-introspection.tests.everything.ffi
-CONSTANT: TEST_VALUE1 0 inline
-" ] [
-    [ \ TEST_VALUE1 see ] with-string-writer
-] unit-test
-
-[ "IN: gobject-introspection.tests.everything.ffi
-CONSTANT: TEST_VALUE3 42 inline
-" ] [
-    [ \ TEST_VALUE3 see ] with-string-writer
-] unit-test
-
-! Bitfields
-
-[ "USING: alien.c-types alien.syntax ;
-IN: gobject-introspection.tests.everything.ffi
-TYPEDEF: int TestFlags
-" ] [
-    [ \ TestFlags see ] with-string-writer
-] unit-test
-
-[ "IN: gobject-introspection.tests.everything.ffi
-CONSTANT: TEST_FLAG2 2 inline
-" ] [
-    [ \ TEST_FLAG2 see ] with-string-writer
-] unit-test
-
-! Functions
-
-[ "USING: alien.syntax glib.ffi ;
-IN: gobject-introspection.tests.everything.ffi
-LIBRARY: gobject-introspection.tests.everything FUNCTION:
-    gint test_int ( gint in ) ;
-" ] [
-    [ \ test_int see ] with-string-writer
-] unit-test
-
-! - throws
-
-[ "USING: alien.c-types alien.syntax glib.ffi ;
-IN: gobject-introspection.tests.everything.ffi
-LIBRARY: gobject-introspection.tests.everything FUNCTION:
-    gboolean test_torture_signature_1
-    ( int x, double* y, int* z, char* foo, int* q, guint m,
-    GError** error ) ;
-" ] [
-    [ \ test_torture_signature_1 see ] with-string-writer
-] unit-test
-
-! Records
-
-[ "USING: alien.syntax ;
-IN: gobject-introspection.tests.everything.ffi
-C-TYPE: TestSimpleBoxedA
-" ] [
-    [ \ TestSimpleBoxedA see ] with-string-writer
-] unit-test
-
-[ "USING: classes.struct glib.ffi ;
-IN: gobject-introspection.tests.everything.ffi
-STRUCT: TestBoxed
-    { some_int8 gint8 initial: 0 }
-    { nested_a TestSimpleBoxedA } { priv TestBoxedPrivate* } ;
-" ] [
-    [ \ TestBoxed see ] with-string-writer
-] unit-test
-
-! - constructors
-
-[ "USING: alien.syntax ;
-IN: gobject-introspection.tests.everything.ffi
-LIBRARY: gobject-introspection.tests.everything FUNCTION:
-    TestBoxed* test_boxed_new ( ) ;
-" ] [
-    [ \ test_boxed_new see ] with-string-writer
-] unit-test
-
-[ "USING: alien.c-types alien.syntax ;
-IN: gobject-introspection.tests.everything.ffi
-LIBRARY: gobject-introspection.tests.everything FUNCTION:
-    TestBoxed* test_boxed_new_alternative_constructor1
-    ( int i ) ;
-" ] [
-    [ \ test_boxed_new_alternative_constructor1 see ] with-string-writer
-] unit-test
-
-! - functions
-
-! - methods
-
-[ "USING: alien.syntax ;
-IN: gobject-introspection.tests.everything.ffi
-LIBRARY: gobject-introspection.tests.everything FUNCTION:
-    TestBoxed* test_boxed_copy ( TestBoxed* self ) ;
-" ] [
-    [ \ test_boxed_copy see ] with-string-writer
-] unit-test
-
-[ "USING: alien.c-types alien.syntax ;
-IN: gobject-introspection.tests.everything.ffi
-LIBRARY: gobject-introspection.tests.everything FUNCTION:
-    void test_struct_a_clone
-    ( TestStructA* self, TestStructA* a_out ) ;
-" ] [
-    [ \ test_struct_a_clone see ] with-string-writer
-] unit-test
-
-! Classes
-
-[ "USING: alien.syntax ;
-IN: gobject-introspection.tests.everything.ffi
-C-TYPE: TestObj
-" ] [
-    [ \ TestObj see ] with-string-writer
-] unit-test
-
-! - get_type
-
-[ "USING: alien.syntax glib.ffi ;
-IN: gobject-introspection.tests.everything.ffi
-LIBRARY: gobject-introspection.tests.everything FUNCTION:
-    GType test_obj_get_type ( ) ;
-" ] [
-    [ \ test_obj_get_type see ] with-string-writer
-] unit-test
-
-! - constructors
-
-[ "USING: alien.c-types alien.syntax glib.ffi ;
-IN: gobject-introspection.tests.everything.ffi
-LIBRARY: gobject-introspection.tests.everything FUNCTION:
-    TestObj* test_obj_new_from_file ( char* x, GError** error )
-    ;
-" ] [
-    [ \ test_obj_new_from_file see ] with-string-writer
-] unit-test
-
-[ "USING: alien.syntax glib.ffi ;
-IN: gobject-introspection.tests.everything.ffi
-LIBRARY: gobject-introspection.tests.everything FUNCTION:
-    TestObj* test_obj_new_callback
-    ( TestCallbackUserData callback, gpointer user_data,
-    GDestroyNotify notify ) ;
-" ] [
-    [ \ test_obj_new_callback see ] with-string-writer
-] unit-test
-
-! - functions
-
-[ "USING: alien.c-types alien.syntax ;
-IN: gobject-introspection.tests.everything.ffi
-LIBRARY: gobject-introspection.tests.everything FUNCTION:
-    double test_obj_static_method ( int x ) ;
-" ] [
-    [ \ test_obj_static_method see ] with-string-writer
-] unit-test
-
-[ "USING: alien.c-types alien.syntax ;
-IN: gobject-introspection.tests.everything.ffi
-LIBRARY: gobject-introspection.tests.everything FUNCTION:
-    void test_obj_static_method_callback
-    ( TestCallback callback ) ;
-" ] [
-    [ \ test_obj_static_method_callback see ] with-string-writer
-] unit-test
-
-! - methods
-
-[ "USING: alien.c-types alien.syntax gobject.ffi ;
-IN: gobject-introspection.tests.everything.ffi
-LIBRARY: gobject-introspection.tests.everything FUNCTION:
-    void test_obj_set_bare ( TestObj* self, GObject* bare ) ;
-" ] [
-    [ \ test_obj_set_bare see ] with-string-writer
-] unit-test
-
-[ "USING: alien.c-types alien.syntax ;
-IN: gobject-introspection.tests.everything.ffi
-LIBRARY: gobject-introspection.tests.everything FUNCTION:
-    int test_obj_instance_method ( TestObj* self ) ;
-" ] [
-    [ \ test_obj_instance_method see ] with-string-writer
-] unit-test
-
-[ "USING: alien.c-types alien.syntax glib.ffi ;
-IN: gobject-introspection.tests.everything.ffi
-LIBRARY: gobject-introspection.tests.everything FUNCTION:
-    gboolean test_obj_torture_signature_1
-    ( TestObj* self, int x, double* y, int* z, char* foo, int*
-    q, guint m, GError** error ) ;
-" ] [
-    [ \ test_obj_torture_signature_1 see ] with-string-writer
-] unit-test
-
-! - signals
-
-[ "USING: alien.c-types alien.syntax glib.ffi ;
-IN: gobject-introspection.tests.everything.ffi
-LIBRARY: gobject-introspection.tests.everything CALLBACK:
-    void TestObj:test ( TestObj* sender, gpointer user_data ) ;
-" ] [
-    [ \ TestObj:test see ] with-string-writer
-] unit-test
-
-[ "USING: alien.c-types alien.syntax glib.ffi ;
-IN: gobject-introspection.tests.everything.ffi
-LIBRARY: gobject-introspection.tests.everything CALLBACK:
-    void TestObj:test-with-static-scope-arg
-    ( TestObj* sender, TestSimpleBoxedA* object, gpointer
-    user_data ) ;
-" ] [
-    [ \ TestObj:test-with-static-scope-arg see ] with-string-writer
-] unit-test
-
-! Callbacks
-
-[ "USING: alien.c-types alien.syntax ;
-IN: gobject-introspection.tests.everything.ffi
-LIBRARY: gobject-introspection.tests.everything CALLBACK:
-    int TestCallback ( ) ;
-" ] [
-    [ \ TestCallback see ] with-string-writer
-] unit-test
-
-[ "USING: alien.c-types alien.syntax glib.ffi ;
-IN: gobject-introspection.tests.everything.ffi
-LIBRARY: gobject-introspection.tests.everything CALLBACK:
-    int TestCallbackUserData ( gpointer user_data ) ;
-" ] [
-    [ \ TestCallbackUserData see ] with-string-writer
-] unit-test
-
diff --git a/basis/gobject-introspection/tests/everything/Everything-1.0.gir b/basis/gobject-introspection/tests/everything/Everything-1.0.gir
deleted file mode 100644 (file)
index aa7de3b..0000000
+++ /dev/null
@@ -1,2340 +0,0 @@
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations.  -->
-<repository version="1.1"
-            xmlns="http://www.gtk.org/introspection/core/1.0"
-            xmlns:c="http://www.gtk.org/introspection/c/1.0"
-            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
-  <include name="GLib" version="2.0"/>
-  <include name="GObject" version="2.0"/>
-  <include name="Gio" version="2.0"/>
-  <include name="cairo" version="1.0"/>
-  <package name="cairo"/>
-  <package name="gio-2.0"/>
-  <package name="gobject-2.0"/>
-  <namespace name="Everything"
-             version="1.0"
-             shared-library="libgirepository-everything-1.0.so.1"
-             c:prefix="Everything">
-    <record name="TestBoxed"
-            c:type="TestBoxed"
-            glib:type-name="TestBoxed"
-            glib:get-type="test_boxed_get_type">
-      <field name="some_int8" writable="1">
-        <type name="int8" c:type="gint8"/>
-      </field>
-      <field name="nested_a" writable="1">
-        <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA"/>
-      </field>
-      <field name="priv" writable="1">
-        <type name="TestBoxedPrivate" c:type="TestBoxedPrivate*"/>
-      </field>
-      <constructor name="new" c:identifier="test_boxed_new">
-        <return-value transfer-ownership="full">
-          <type name="TestBoxed" c:type="TestBoxed*"/>
-        </return-value>
-      </constructor>
-      <constructor name="new_alternative_constructor1"
-                   c:identifier="test_boxed_new_alternative_constructor1">
-        <return-value transfer-ownership="full">
-          <type name="TestBoxed" c:type="TestBoxed*"/>
-        </return-value>
-        <parameters>
-          <parameter name="i" transfer-ownership="none">
-            <type name="int" c:type="int"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <constructor name="new_alternative_constructor2"
-                   c:identifier="test_boxed_new_alternative_constructor2">
-        <return-value transfer-ownership="full">
-          <type name="TestBoxed" c:type="TestBoxed*"/>
-        </return-value>
-        <parameters>
-          <parameter name="i" transfer-ownership="none">
-            <type name="int" c:type="int"/>
-          </parameter>
-          <parameter name="j" transfer-ownership="none">
-            <type name="int" c:type="int"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <constructor name="new_alternative_constructor3"
-                   c:identifier="test_boxed_new_alternative_constructor3">
-        <return-value transfer-ownership="full">
-          <type name="TestBoxed" c:type="TestBoxed*"/>
-        </return-value>
-        <parameters>
-          <parameter name="s" transfer-ownership="full">
-            <type name="utf8" c:type="char*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="copy" c:identifier="test_boxed_copy">
-        <return-value transfer-ownership="full">
-          <type name="TestBoxed" c:type="TestBoxed*"/>
-        </return-value>
-      </method>
-      <method name="equals" c:identifier="test_boxed_equals">
-        <return-value transfer-ownership="none">
-          <type name="boolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="other" transfer-ownership="none">
-            <type name="TestBoxed" c:type="TestBoxed*"/>
-          </parameter>
-        </parameters>
-      </method>
-    </record>
-    <record name="TestBoxedPrivate" c:type="TestBoxedPrivate">
-    </record>
-    <callback name="TestCallback" c:type="TestCallback">
-      <return-value transfer-ownership="none">
-        <type name="int" c:type="int"/>
-      </return-value>
-    </callback>
-    <callback name="TestCallbackUserData" c:type="TestCallbackUserData">
-      <return-value transfer-ownership="none">
-        <type name="int" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="user_data" transfer-ownership="none" closure="0">
-          <type name="any" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <enumeration name="TestEnum"
-                 glib:type-name="TestEnum"
-                 glib:get-type="test_enum_get_type"
-                 c:type="TestEnum">
-      <member name="value1"
-              value="0"
-              c:identifier="TEST_VALUE1"
-              glib:nick="value1"/>
-      <member name="value2"
-              value="1"
-              c:identifier="TEST_VALUE2"
-              glib:nick="value2"/>
-      <member name="value3"
-              value="42"
-              c:identifier="TEST_VALUE3"
-              glib:nick="value3"/>
-    </enumeration>
-    <bitfield name="TestFlags"
-              glib:type-name="TestFlags"
-              glib:get-type="test_flags_get_type"
-              c:type="TestFlags">
-      <member name="flag1"
-              value="1"
-              c:identifier="TEST_FLAG1"
-              glib:nick="flag1"/>
-      <member name="flag2"
-              value="2"
-              c:identifier="TEST_FLAG2"
-              glib:nick="flag2"/>
-      <member name="flag3"
-              value="4"
-              c:identifier="TEST_FLAG3"
-              glib:nick="flag3"/>
-    </bitfield>
-    <class name="TestFloating"
-           c:type="TestFloating"
-           parent="GObject.InitiallyUnowned"
-           glib:type-name="TestFloating"
-           glib:get-type="test_floating_get_type"
-           glib:type-struct="TestFloatingClass">
-      <constructor name="new" c:identifier="test_floating_new">
-        <return-value transfer-ownership="full">
-          <type name="TestFloating" c:type="TestFloating*"/>
-        </return-value>
-      </constructor>
-      <field name="parent_instance">
-        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
-      </field>
-    </class>
-    <record name="TestFloatingClass"
-            c:type="TestFloatingClass"
-            glib:is-gtype-struct-for="TestFloating">
-      <field name="parent_class">
-        <type name="GObject.InitiallyUnownedClass"
-              c:type="GInitiallyUnownedClass"/>
-      </field>
-    </record>
-    <class name="TestFundamentalObject"
-           c:type="TestFundamentalObject"
-           abstract="1"
-           glib:type-name="TestFundamentalObject"
-           glib:get-type="test_fundamental_object_get_type"
-           glib:type-struct="TestFundamentalObjectClass"
-           glib:fundamental="1"
-           glib:ref-func="test_fundamental_object_ref"
-           glib:unref-func="test_fundamental_object_unref"
-           glib:set-value-func="test_value_set_fundamental_object"
-           glib:get-value-func="test_value_get_fundamental_object">
-      <method name="ref" c:identifier="test_fundamental_object_ref">
-        <return-value transfer-ownership="full">
-          <type name="TestFundamentalObject" c:type="TestFundamentalObject*"/>
-        </return-value>
-      </method>
-      <method name="unref" c:identifier="test_fundamental_object_unref">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <field name="instance">
-        <type name="GObject.TypeInstance" c:type="GTypeInstance"/>
-      </field>
-      <field name="refcount">
-        <type name="int" c:type="gint"/>
-      </field>
-      <field name="flags">
-        <type name="uint" c:type="guint"/>
-      </field>
-    </class>
-    <record name="TestFundamentalObjectClass"
-            c:type="TestFundamentalObjectClass"
-            glib:is-gtype-struct-for="TestFundamentalObject">
-      <field name="type_class">
-        <type name="GObject.TypeClass" c:type="GTypeClass"/>
-      </field>
-      <field name="copy">
-        <type name="TestFundamentalObjectCopyFunction"
-              c:type="TestFundamentalObjectCopyFunction"/>
-      </field>
-      <field name="finalize">
-        <type name="TestFundamentalObjectFinalizeFunction"
-              c:type="TestFundamentalObjectFinalizeFunction"/>
-      </field>
-    </record>
-    <callback name="TestFundamentalObjectCopyFunction"
-              c:type="TestFundamentalObjectCopyFunction">
-      <return-value transfer-ownership="full">
-        <type name="TestFundamentalObject" c:type="TestFundamentalObject*"/>
-      </return-value>
-      <parameters>
-        <parameter name="obj" transfer-ownership="none">
-          <type name="TestFundamentalObject" c:type="TestFundamentalObject*"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <callback name="TestFundamentalObjectFinalizeFunction"
-              c:type="TestFundamentalObjectFinalizeFunction">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="obj" transfer-ownership="none">
-          <type name="TestFundamentalObject" c:type="TestFundamentalObject*"/>
-        </parameter>
-      </parameters>
-    </callback>
-    <class name="TestFundamentalSubObject"
-           c:type="TestFundamentalSubObject"
-           parent="TestFundamentalObject"
-           glib:type-name="TestFundamentalSubObject"
-           glib:get-type="test_fundamental_sub_object_get_type"
-           glib:type-struct="TestFundamentalSubObjectClass"
-           glib:fundamental="1">
-      <constructor name="new" c:identifier="test_fundamental_sub_object_new">
-        <return-value transfer-ownership="full">
-          <type name="TestFundamentalSubObject"
-                c:type="TestFundamentalSubObject*"/>
-        </return-value>
-        <parameters>
-          <parameter name="data" transfer-ownership="none">
-            <type name="utf8" c:type="char*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <field name="fundamental_object">
-        <type name="TestFundamentalObject" c:type="TestFundamentalObject"/>
-      </field>
-      <field name="data">
-        <type name="utf8" c:type="char*"/>
-      </field>
-    </class>
-    <record name="TestFundamentalSubObjectClass"
-            c:type="TestFundamentalSubObjectClass"
-            glib:is-gtype-struct-for="TestFundamentalSubObject">
-      <field name="fundamental_object_class">
-        <type name="TestFundamentalObjectClass"
-              c:type="TestFundamentalObjectClass"/>
-      </field>
-    </record>
-    <interface name="TestInterface"
-               c:type="EverythingTestInterface"
-               glib:type-name="EverythingTestInterface"
-               glib:get-type="test_interface_get_type"
-               glib:type-struct="TestInterfaceIface">
-    </interface>
-    <record name="TestInterfaceIface"
-            c:type="TestInterfaceIface"
-            glib:is-gtype-struct-for="TestInterface">
-      <field name="base_iface">
-        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
-      </field>
-    </record>
-    <class name="TestObj"
-           c:type="TestObj"
-           parent="GObject.Object"
-           glib:type-name="TestObj"
-           glib:get-type="test_obj_get_type"
-           glib:type-struct="TestObjClass">
-      <constructor name="new_from_file"
-                   c:identifier="test_obj_new_from_file"
-                   throws="1">
-        <return-value transfer-ownership="full">
-          <type name="TestObj" c:type="TestObj*"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <type name="utf8" c:type="char*"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <constructor name="new_callback" c:identifier="test_obj_new_callback">
-        <return-value transfer-ownership="full">
-          <type name="TestObj" c:type="TestObj*"/>
-        </return-value>
-        <parameters>
-          <parameter name="callback"
-                     transfer-ownership="none"
-                     scope="notified"
-                     closure="1"
-                     destroy="2">
-            <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
-          </parameter>
-          <parameter name="user_data" transfer-ownership="none">
-            <type name="any" c:type="gpointer"/>
-          </parameter>
-          <parameter name="notify" transfer-ownership="none" scope="call">
-            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <function name="static_method" c:identifier="test_obj_static_method">
-        <return-value transfer-ownership="none">
-          <type name="double" c:type="double"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <type name="int" c:type="int"/>
-          </parameter>
-        </parameters>
-      </function>
-      <function name="static_method_callback"
-                c:identifier="test_obj_static_method_callback">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="callback"
-                     transfer-ownership="none"
-                     allow-none="1"
-                     scope="call">
-            <type name="TestCallback" c:type="TestCallback"/>
-          </parameter>
-        </parameters>
-      </function>
-      <virtual-method name="matrix" invoker="do_matrix">
-        <doc xml:whitespace="preserve">This method is virtual.  Notably its name differs from the virtual
-slot name, which makes it useful for testing bindings handle this
-case.</doc>
-        <return-value transfer-ownership="none">
-          <type name="int" c:type="int"/>
-        </return-value>
-        <parameters>
-          <parameter name="somestr" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Meaningless string</doc>
-            <type name="utf8" c:type="char*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <method name="set_bare" c:identifier="test_obj_set_bare">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="bare" transfer-ownership="none" allow-none="1">
-            <type name="GObject.Object" c:type="GObject*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="instance_method" c:identifier="test_obj_instance_method">
-        <return-value transfer-ownership="none">
-          <type name="int" c:type="int"/>
-        </return-value>
-      </method>
-      <method name="torture_signature_0"
-              c:identifier="test_obj_torture_signature_0">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <type name="int" c:type="int"/>
-          </parameter>
-          <parameter name="y"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <type name="double" c:type="double*"/>
-          </parameter>
-          <parameter name="z"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <type name="int" c:type="int*"/>
-          </parameter>
-          <parameter name="foo" transfer-ownership="none">
-            <type name="utf8" c:type="char*"/>
-          </parameter>
-          <parameter name="q"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <type name="int" c:type="int*"/>
-          </parameter>
-          <parameter name="m" transfer-ownership="none">
-            <type name="uint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="torture_signature_1"
-              c:identifier="test_obj_torture_signature_1"
-              throws="1">
-        <doc xml:whitespace="preserve">This function throws an error if m is odd.</doc>
-        <return-value transfer-ownership="none">
-          <type name="boolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <type name="int" c:type="int"/>
-          </parameter>
-          <parameter name="y"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <type name="double" c:type="double*"/>
-          </parameter>
-          <parameter name="z"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <type name="int" c:type="int*"/>
-          </parameter>
-          <parameter name="foo" transfer-ownership="none">
-            <type name="utf8" c:type="char*"/>
-          </parameter>
-          <parameter name="q"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <type name="int" c:type="int*"/>
-          </parameter>
-          <parameter name="m" transfer-ownership="none">
-            <type name="uint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="do_matrix" c:identifier="test_obj_do_matrix">
-        <doc xml:whitespace="preserve">This method is virtual.  Notably its name differs from the virtual
-slot name, which makes it useful for testing bindings handle this
-case.</doc>
-        <return-value transfer-ownership="none">
-          <type name="int" c:type="int"/>
-        </return-value>
-        <parameters>
-          <parameter name="somestr" transfer-ownership="none">
-            <doc xml:whitespace="preserve">Meaningless string</doc>
-            <type name="utf8" c:type="char*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="instance_method_callback"
-              c:identifier="test_obj_instance_method_callback">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="callback"
-                     transfer-ownership="none"
-                     allow-none="1"
-                     scope="call">
-            <type name="TestCallback" c:type="TestCallback"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="bare" writable="1" transfer-ownership="none">
-        <type name="GObject.Object" c:type="GObject"/>
-      </property>
-      <property name="boxed" writable="1" transfer-ownership="none">
-        <type name="TestBoxed" c:type="TestBoxed"/>
-      </property>
-      <property name="hash-table" writable="1" transfer-ownership="container">
-        <type name="GLib.HashTable" c:type="GHashTable">
-          <type name="utf8"/>
-          <type name="int8"/>
-        </type>
-      </property>
-      <property name="list" writable="1" transfer-ownership="none">
-        <type name="GLib.List" c:type="gpointer">
-          <type name="utf8"/>
-        </type>
-      </property>
-      <field name="parent_instance">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="bare">
-        <type name="GObject.Object" c:type="GObject*"/>
-      </field>
-      <field name="boxed">
-        <type name="TestBoxed" c:type="TestBoxed*"/>
-      </field>
-      <field name="hash_table">
-        <type name="GLib.HashTable" c:type="GHashTable*"/>
-      </field>
-      <field name="list">
-        <type name="GLib.List" c:type="GList*">
-          <type name="any" c:type="gpointer"/>
-        </type>
-      </field>
-      <glib:signal name="test">
-        <return-value transfer-ownership="full">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </glib:signal>
-      <glib:signal name="test-with-static-scope-arg">
-        <return-value transfer-ownership="full">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA"/>
-          </parameter>
-        </parameters>
-      </glib:signal>
-    </class>
-    <record name="TestObjClass"
-            c:type="TestObjClass"
-            glib:is-gtype-struct-for="TestObj">
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="matrix">
-        <callback name="matrix" c:type="matrix">
-          <return-value transfer-ownership="none">
-            <type name="int" c:type="int"/>
-          </return-value>
-          <parameters>
-            <parameter name="obj" transfer-ownership="none">
-              <type name="TestObj" c:type="TestObj*"/>
-            </parameter>
-            <parameter name="somestr" transfer-ownership="none">
-              <doc xml:whitespace="preserve">Meaningless string</doc>
-              <type name="utf8" c:type="char*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="test_signal">
-        <type name="uint" c:type="guint"/>
-      </field>
-      <field name="test_signal_with_static_scope_arg">
-        <type name="uint" c:type="guint"/>
-      </field>
-    </record>
-    <record name="TestSimpleBoxedA"
-            c:type="TestSimpleBoxedA"
-            glib:type-name="TestSimpleBoxedA"
-            glib:get-type="test_simple_boxed_a_get_type">
-      <field name="some_int" writable="1">
-        <type name="int" c:type="gint"/>
-      </field>
-      <field name="some_int8" writable="1">
-        <type name="int8" c:type="gint8"/>
-      </field>
-      <field name="some_double" writable="1">
-        <type name="double" c:type="gdouble"/>
-      </field>
-      <field name="some_enum" writable="1">
-        <type name="TestEnum" c:type="TestEnum"/>
-      </field>
-      <method name="copy" c:identifier="test_simple_boxed_a_copy">
-        <return-value transfer-ownership="full">
-          <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA*"/>
-        </return-value>
-      </method>
-      <method name="equals" c:identifier="test_simple_boxed_a_equals">
-        <return-value transfer-ownership="none">
-          <type name="boolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <parameter name="other_a" transfer-ownership="none">
-            <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA*"/>
-          </parameter>
-        </parameters>
-      </method>
-    </record>
-    <record name="TestSimpleBoxedB"
-            c:type="TestSimpleBoxedB"
-            glib:type-name="TestSimpleBoxedB"
-            glib:get-type="test_simple_boxed_b_get_type">
-      <field name="some_int8" writable="1">
-        <type name="int8" c:type="gint8"/>
-      </field>
-      <field name="nested_a" writable="1">
-        <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA"/>
-      </field>
-      <method name="copy" c:identifier="test_simple_boxed_b_copy">
-        <return-value transfer-ownership="full">
-          <type name="TestSimpleBoxedB" c:type="TestSimpleBoxedB*"/>
-        </return-value>
-      </method>
-    </record>
-    <callback name="TestSimpleCallback" c:type="TestSimpleCallback">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-    </callback>
-    <record name="TestStructA" c:type="TestStructA">
-      <field name="some_int" writable="1">
-        <type name="int" c:type="gint"/>
-      </field>
-      <field name="some_int8" writable="1">
-        <type name="int8" c:type="gint8"/>
-      </field>
-      <field name="some_double" writable="1">
-        <type name="double" c:type="gdouble"/>
-      </field>
-      <field name="some_enum" writable="1">
-        <type name="TestEnum" c:type="TestEnum"/>
-      </field>
-      <method name="clone" c:identifier="test_struct_a_clone">
-        <doc xml:whitespace="preserve">Make a copy of a TestStructA</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="a_out"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">the cloned structure</doc>
-            <type name="TestStructA" c:type="TestStructA*"/>
-          </parameter>
-        </parameters>
-      </method>
-    </record>
-    <record name="TestStructB" c:type="TestStructB">
-      <field name="some_int8" writable="1">
-        <type name="int8" c:type="gint8"/>
-      </field>
-      <field name="nested_a" writable="1">
-        <type name="TestStructA" c:type="TestStructA"/>
-      </field>
-      <method name="clone" c:identifier="test_struct_b_clone">
-        <doc xml:whitespace="preserve">Make a copy of a TestStructB</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="b_out"
-                     direction="out"
-                     caller-allocates="1"
-                     transfer-ownership="none">
-            <doc xml:whitespace="preserve">the cloned structure</doc>
-            <type name="TestStructB" c:type="TestStructB*"/>
-          </parameter>
-        </parameters>
-      </method>
-    </record>
-    <record name="TestStructC" c:type="_TestStructC">
-      <field name="another_int" writable="1">
-        <type name="int" c:type="gint"/>
-      </field>
-      <field name="obj" writable="1">
-        <type name="GObject.Object" c:type="GObject*"/>
-      </field>
-    </record>
-    <class name="TestSubObj"
-           c:type="TestSubObj"
-           parent="TestObj"
-           glib:type-name="TestSubObj"
-           glib:get-type="test_sub_obj_get_type"
-           glib:type-struct="TestSubObjClass">
-      <constructor name="new" c:identifier="test_sub_obj_new">
-        <return-value transfer-ownership="full">
-          <type name="TestSubObj" c:type="TestSubObj*"/>
-        </return-value>
-      </constructor>
-      <method name="unset_bare" c:identifier="test_sub_obj_unset_bare">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="instance_method"
-              c:identifier="test_sub_obj_instance_method">
-        <return-value transfer-ownership="none">
-          <type name="int" c:type="int"/>
-        </return-value>
-      </method>
-      <field name="parent_instance">
-        <type name="TestObj" c:type="TestObj"/>
-      </field>
-    </class>
-    <record name="TestSubObjClass"
-            c:type="TestSubObjClass"
-            glib:is-gtype-struct-for="TestSubObj">
-      <field name="parent_class">
-        <type name="TestObjClass" c:type="TestObjClass"/>
-      </field>
-    </record>
-    <class name="TestWi8021x"
-           c:type="TestWi8021x"
-           parent="GObject.Object"
-           glib:type-name="TestWi8021x"
-           glib:get-type="test_wi_802_1x_get_type"
-           glib:type-struct="TestWi8021xClass">
-      <constructor name="new" c:identifier="test_wi_802_1x_new">
-        <return-value transfer-ownership="full">
-          <type name="TestWi8021x" c:type="TestWi8021x*"/>
-        </return-value>
-      </constructor>
-      <function name="static_method"
-                c:identifier="test_wi_802_1x_static_method">
-        <return-value transfer-ownership="none">
-          <type name="int" c:type="int"/>
-        </return-value>
-        <parameters>
-          <parameter name="x" transfer-ownership="none">
-            <type name="int" c:type="int"/>
-          </parameter>
-        </parameters>
-      </function>
-      <method name="get_testbool" c:identifier="test_wi_802_1x_get_testbool">
-        <return-value transfer-ownership="none">
-          <type name="boolean" c:type="gboolean"/>
-        </return-value>
-      </method>
-      <method name="set_testbool" c:identifier="test_wi_802_1x_set_testbool">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="v" transfer-ownership="none">
-            <type name="boolean" c:type="gboolean"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="testbool" writable="1" transfer-ownership="none">
-        <type name="boolean" c:type="gboolean"/>
-      </property>
-      <field name="parent_instance">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="testbool">
-        <type name="boolean" c:type="gboolean"/>
-      </field>
-    </class>
-    <record name="TestWi8021xClass"
-            c:type="TestWi8021xClass"
-            glib:is-gtype-struct-for="TestWi8021x">
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-    </record>
-    <function name="set_abort_on_error" c:identifier="set_abort_on_error">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="abort_on_error" transfer-ownership="none">
-          <type name="boolean" c:type="gboolean"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_array_fixed_size_int_in"
-              c:identifier="test_array_fixed_size_int_in">
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the sum of the items in @ints</doc>
-        <type name="int" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="ints" transfer-ownership="none">
-          <doc xml:whitespace="preserve">a list of 5 integers</doc>
-          <array c:type="int*" fixed-size="5">
-            <type name="int"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_array_fixed_size_int_out"
-              c:identifier="test_array_fixed_size_int_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ints"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">a list of 5 integers ranging from 0 to 4</doc>
-          <array c:type="int**" fixed-size="5">
-            <type name="int"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_array_fixed_size_int_return"
-              c:identifier="test_array_fixed_size_int_return">
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a list of 5 integers ranging from 0 to 4</doc>
-        <array c:type="int*" fixed-size="5">
-          <type name="int"/>
-        </array>
-      </return-value>
-    </function>
-    <function name="test_array_gint16_in" c:identifier="test_array_gint16_in">
-      <return-value transfer-ownership="none">
-        <type name="int" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="n_ints" transfer-ownership="none">
-          <type name="int" c:type="int"/>
-        </parameter>
-        <parameter name="ints" transfer-ownership="none">
-          <doc xml:whitespace="preserve">List of ints</doc>
-          <array length="0" c:type="gint16*">
-            <type name="int16"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_array_gint32_in" c:identifier="test_array_gint32_in">
-      <return-value transfer-ownership="none">
-        <type name="int32" c:type="gint32"/>
-      </return-value>
-      <parameters>
-        <parameter name="n_ints" transfer-ownership="none">
-          <type name="int" c:type="int"/>
-        </parameter>
-        <parameter name="ints" transfer-ownership="none">
-          <doc xml:whitespace="preserve">List of ints</doc>
-          <array length="0" c:type="gint32*">
-            <type name="int32"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_array_gint64_in" c:identifier="test_array_gint64_in">
-      <return-value transfer-ownership="none">
-        <type name="int64" c:type="gint64"/>
-      </return-value>
-      <parameters>
-        <parameter name="n_ints" transfer-ownership="none">
-          <type name="int" c:type="int"/>
-        </parameter>
-        <parameter name="ints" transfer-ownership="none">
-          <doc xml:whitespace="preserve">List of ints</doc>
-          <array length="0" c:type="gint64*">
-            <type name="int64"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_array_gint8_in" c:identifier="test_array_gint8_in">
-      <return-value transfer-ownership="none">
-        <type name="int" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="n_ints" transfer-ownership="none">
-          <type name="int" c:type="int"/>
-        </parameter>
-        <parameter name="ints" transfer-ownership="none">
-          <doc xml:whitespace="preserve">List of ints</doc>
-          <array length="0" c:type="gint8*">
-            <type name="int8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_array_gtype_in" c:identifier="test_array_gtype_in">
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">string representation of provided types</doc>
-        <type name="utf8" c:type="char*"/>
-      </return-value>
-      <parameters>
-        <parameter name="n_types" transfer-ownership="none">
-          <type name="int" c:type="int"/>
-        </parameter>
-        <parameter name="types" transfer-ownership="none">
-          <doc xml:whitespace="preserve">List of types</doc>
-          <array length="0" c:type="GType*">
-            <type name="GType"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_array_int_full_out"
-              c:identifier="test_array_int_full_out">
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a new array of integers.</doc>
-        <array length="0" c:type="int*">
-          <type name="int"/>
-        </array>
-      </return-value>
-      <parameters>
-        <parameter name="len"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">length of the returned array.</doc>
-          <type name="int" c:type="int*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_array_int_in" c:identifier="test_array_int_in">
-      <return-value transfer-ownership="none">
-        <type name="int" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="n_ints" transfer-ownership="none">
-          <type name="int" c:type="int"/>
-        </parameter>
-        <parameter name="ints" transfer-ownership="none">
-          <doc xml:whitespace="preserve">List of ints</doc>
-          <array length="0" c:type="int*">
-            <type name="int"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_array_int_in_take"
-              c:identifier="test_array_int_in_take">
-      <return-value transfer-ownership="none">
-        <type name="int" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="n_ints" transfer-ownership="none">
-          <type name="int" c:type="int"/>
-        </parameter>
-        <parameter name="ints" transfer-ownership="full">
-          <doc xml:whitespace="preserve">List of ints</doc>
-          <array length="0" c:type="int*">
-            <type name="int"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_array_int_inout" c:identifier="test_array_int_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="n_ints"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">the length of @ints</doc>
-          <type name="int" c:type="int*"/>
-        </parameter>
-        <parameter name="ints"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">a list of integers whose items will be increased by 1, except the first that will be dropped</doc>
-          <array length="0" c:type="int**">
-            <type name="int"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_array_int_none_out"
-              c:identifier="test_array_int_none_out">
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">a static array of integers.</doc>
-        <array length="0" c:type="int*">
-          <type name="int"/>
-        </array>
-      </return-value>
-      <parameters>
-        <parameter name="len"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">length of the returned array.</doc>
-          <type name="int" c:type="int*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_array_int_null_in"
-              c:identifier="test_array_int_null_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="arr" transfer-ownership="none" allow-none="1">
-          <array length="1" c:type="int*">
-            <type name="int"/>
-          </array>
-        </parameter>
-        <parameter name="len" transfer-ownership="none">
-          <doc xml:whitespace="preserve">length</doc>
-          <type name="int" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_array_int_null_out"
-              c:identifier="test_array_int_null_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="arr"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full"
-                   allow-none="1">
-          <array length="1" c:type="int**">
-            <type name="int"/>
-          </array>
-        </parameter>
-        <parameter name="len"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">length</doc>
-          <type name="int" c:type="int*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_array_int_out" c:identifier="test_array_int_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="n_ints"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">the length of @ints</doc>
-          <type name="int" c:type="int*"/>
-        </parameter>
-        <parameter name="ints"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">a list of 5 integers, from 0 to 4 in consecutive order</doc>
-          <array length="0" c:type="int**">
-            <type name="int"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_async_ready_callback"
-              c:identifier="test_async_ready_callback">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="callback" transfer-ownership="none" scope="async">
-          <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_boolean" c:identifier="test_boolean">
-      <return-value transfer-ownership="none">
-        <type name="boolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="boolean" c:type="gboolean"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_boolean_false" c:identifier="test_boolean_false">
-      <return-value transfer-ownership="none">
-        <type name="boolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="boolean" c:type="gboolean"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_boolean_true" c:identifier="test_boolean_true">
-      <return-value transfer-ownership="none">
-        <type name="boolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="boolean" c:type="gboolean"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_cairo_context_full_return"
-              c:identifier="test_cairo_context_full_return">
-      <return-value transfer-ownership="full">
-        <type name="cairo.Context" c:type="cairo_t*"/>
-      </return-value>
-    </function>
-    <function name="test_cairo_context_none_in"
-              c:identifier="test_cairo_context_none_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="context" transfer-ownership="none">
-          <type name="cairo.Context" c:type="cairo_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_cairo_surface_full_out"
-              c:identifier="test_cairo_surface_full_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="cairo.Surface" c:type="cairo_surface_t**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_cairo_surface_full_return"
-              c:identifier="test_cairo_surface_full_return">
-      <return-value transfer-ownership="full">
-        <type name="cairo.Surface" c:type="cairo_surface_t*"/>
-      </return-value>
-    </function>
-    <function name="test_cairo_surface_none_in"
-              c:identifier="test_cairo_surface_none_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="surface" transfer-ownership="none">
-          <type name="cairo.Surface" c:type="cairo_surface_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_cairo_surface_none_return"
-              c:identifier="test_cairo_surface_none_return">
-      <return-value transfer-ownership="none">
-        <type name="cairo.Surface" c:type="cairo_surface_t*"/>
-      </return-value>
-    </function>
-    <function name="test_callback" c:identifier="test_callback">
-      <return-value transfer-ownership="none">
-        <type name="int" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="callback"
-                   transfer-ownership="none"
-                   allow-none="1"
-                   scope="call">
-          <type name="TestCallback" c:type="TestCallback"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_callback_async" c:identifier="test_callback_async">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="callback"
-                   transfer-ownership="none"
-                   scope="async"
-                   closure="1">
-          <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
-        </parameter>
-        <parameter name="user_data" transfer-ownership="none">
-          <type name="any" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_callback_destroy_notify"
-              c:identifier="test_callback_destroy_notify">
-      <doc xml:whitespace="preserve">Notified - callback persists until a DestroyNotify delegate
-is invoked.</doc>
-      <return-value transfer-ownership="none">
-        <type name="int" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="callback"
-                   transfer-ownership="none"
-                   scope="notified"
-                   closure="1"
-                   destroy="2">
-          <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
-        </parameter>
-        <parameter name="user_data" transfer-ownership="none">
-          <type name="any" c:type="gpointer"/>
-        </parameter>
-        <parameter name="notify" transfer-ownership="none" scope="call">
-          <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_callback_thaw_async"
-              c:identifier="test_callback_thaw_async">
-      <return-value transfer-ownership="none">
-        <type name="int" c:type="int"/>
-      </return-value>
-    </function>
-    <function name="test_callback_thaw_notifications"
-              c:identifier="test_callback_thaw_notifications">
-      <doc xml:whitespace="preserve">Invokes all callbacks installed by #test_callback_destroy_notify(),
-adding up their return values, and removes them, invoking the
-corresponding destroy notfications.</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">Sum of the return values of the invoked callbacks.</doc>
-        <type name="int" c:type="int"/>
-      </return-value>
-    </function>
-    <function name="test_callback_user_data"
-              c:identifier="test_callback_user_data">
-      <doc xml:whitespace="preserve">Call - callback parameter persists for the duration of the method
-call and can be released on return.</doc>
-      <return-value transfer-ownership="none">
-        <type name="int" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="callback"
-                   transfer-ownership="none"
-                   scope="call"
-                   closure="1">
-          <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
-        </parameter>
-        <parameter name="user_data" transfer-ownership="none">
-          <type name="any" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_closure" c:identifier="test_closure">
-      <return-value transfer-ownership="none">
-        <type name="int" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="closure" transfer-ownership="none">
-          <type name="GObject.Closure" c:type="GClosure*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_closure_one_arg" c:identifier="test_closure_one_arg">
-      <return-value transfer-ownership="none">
-        <type name="int" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="closure" transfer-ownership="none">
-          <type name="GObject.Closure" c:type="GClosure*"/>
-        </parameter>
-        <parameter name="arg" transfer-ownership="none">
-          <type name="int" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_date_in_gvalue" c:identifier="test_date_in_gvalue">
-      <return-value transfer-ownership="full">
-        <type name="GObject.Value" c:type="GValue*"/>
-      </return-value>
-    </function>
-    <function name="test_double" c:identifier="test_double">
-      <return-value transfer-ownership="none">
-        <type name="double" c:type="gdouble"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="double" c:type="gdouble"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_enum_param" c:identifier="test_enum_param">
-      <return-value transfer-ownership="none">
-        <type name="utf8" c:type="gchar*"/>
-      </return-value>
-      <parameters>
-        <parameter name="e" transfer-ownership="none">
-          <type name="TestEnum" c:type="TestEnum"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_filename_return" c:identifier="test_filename_return">
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">list of strings</doc>
-        <type name="GLib.SList" c:type="GSList*">
-          <type name="filename"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="test_float" c:identifier="test_float">
-      <return-value transfer-ownership="none">
-        <type name="float" c:type="gfloat"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="float" c:type="gfloat"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_ghash_container_in"
-              c:identifier="test_ghash_container_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="container">
-          <type name="GLib.HashTable" c:type="GHashTable*">
-            <type name="utf8"/>
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_ghash_container_return"
-              c:identifier="test_ghash_container_return">
-      <return-value transfer-ownership="container">
-        <type name="GLib.HashTable" c:type="GHashTable*">
-          <type name="utf8"/>
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="test_ghash_everything_in"
-              c:identifier="test_ghash_everything_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="full">
-          <type name="GLib.HashTable" c:type="GHashTable*">
-            <type name="utf8"/>
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_ghash_everything_return"
-              c:identifier="test_ghash_everything_return">
-      <return-value transfer-ownership="full">
-        <type name="GLib.HashTable" c:type="GHashTable*">
-          <type name="utf8"/>
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="test_ghash_free" c:identifier="test_ghash_free">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="full">
-          <type name="GLib.HashTable" c:type="GHashTable*">
-            <type name="utf8"/>
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_ghash_nested_everything_return"
-              c:identifier="test_ghash_nested_everything_return">
-      <doc xml:whitespace="preserve">Specify nested parameterized types directly with the (type ) annotation.</doc>
-      <return-value transfer-ownership="full">
-        <type name="GLib.HashTable" c:type="GHashTable*">
-          <type name="utf8"/>
-          <type name="GLib.HashTable">
-            <type name="utf8"/>
-            <type name="utf8"/>
-          </type>
-        </type>
-      </return-value>
-    </function>
-    <function name="test_ghash_nested_everything_return2"
-              c:identifier="test_ghash_nested_everything_return2">
-      <doc xml:whitespace="preserve">element-type annotation.</doc>
-      <return-value transfer-ownership="full">
-        <type name="GLib.HashTable" c:type="GHashTable*">
-          <type name="utf8"/>
-          <type name="GLib.HashTable">
-            <type name="utf8"/>
-            <type name="utf8"/>
-          </type>
-        </type>
-      </return-value>
-    </function>
-    <function name="test_ghash_nothing_in"
-              c:identifier="test_ghash_nothing_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="GLib.HashTable" c:type="GHashTable*">
-            <type name="utf8"/>
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_ghash_nothing_in2"
-              c:identifier="test_ghash_nothing_in2">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="GLib.HashTable" c:type="GHashTable*">
-            <type name="utf8"/>
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_ghash_nothing_return"
-              c:identifier="test_ghash_nothing_return">
-      <return-value transfer-ownership="none">
-        <type name="GLib.HashTable" c:type="GHashTable*">
-          <type name="utf8"/>
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="test_ghash_nothing_return2"
-              c:identifier="test_ghash_nothing_return2">
-      <return-value transfer-ownership="none">
-        <type name="GLib.HashTable" c:type="GHashTable*">
-          <type name="utf8"/>
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="test_ghash_null_in" c:identifier="test_ghash_null_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none" allow-none="1">
-          <type name="GLib.HashTable" c:type="GHashTable*">
-            <type name="utf8"/>
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_ghash_null_out" c:identifier="test_ghash_null_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="out"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full"
-                   allow-none="1">
-          <type name="GLib.HashTable" c:type="GHashTable**">
-            <type name="utf8"/>
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_ghash_null_return"
-              c:identifier="test_ghash_null_return">
-      <return-value transfer-ownership="none">
-        <type name="GLib.HashTable" c:type="GHashTable*">
-          <type name="utf8"/>
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="test_glist_container_in"
-              c:identifier="test_glist_container_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="container">
-          <type name="GLib.List" c:type="GList*">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_glist_container_return"
-              c:identifier="test_glist_container_return">
-      <return-value transfer-ownership="container">
-        <type name="GLib.List" c:type="GList*">
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="test_glist_everything_in"
-              c:identifier="test_glist_everything_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="full">
-          <type name="GLib.List" c:type="GList*">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_glist_everything_return"
-              c:identifier="test_glist_everything_return">
-      <return-value transfer-ownership="full">
-        <type name="GLib.List" c:type="GList*">
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="test_glist_free" c:identifier="test_glist_free">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="full">
-          <type name="GLib.List" c:type="GList*">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_glist_nothing_in"
-              c:identifier="test_glist_nothing_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="GLib.List" c:type="GList*">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_glist_nothing_in2"
-              c:identifier="test_glist_nothing_in2">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="GLib.List" c:type="GList*">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_glist_nothing_return"
-              c:identifier="test_glist_nothing_return">
-      <return-value transfer-ownership="none">
-        <type name="GLib.List" c:type="GList*">
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="test_glist_nothing_return2"
-              c:identifier="test_glist_nothing_return2">
-      <return-value transfer-ownership="none">
-        <type name="GLib.List" c:type="GList*">
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="test_glist_null_in" c:identifier="test_glist_null_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none" allow-none="1">
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_glist_null_out" c:identifier="test_glist_null_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="out_list"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full"
-                   allow-none="1">
-          <type name="GLib.SList" c:type="GSList**">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_gslist_container_in"
-              c:identifier="test_gslist_container_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="container">
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_gslist_container_return"
-              c:identifier="test_gslist_container_return">
-      <return-value transfer-ownership="container">
-        <type name="GLib.SList" c:type="GSList*">
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="test_gslist_everything_in"
-              c:identifier="test_gslist_everything_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="full">
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_gslist_everything_return"
-              c:identifier="test_gslist_everything_return">
-      <return-value transfer-ownership="full">
-        <type name="GLib.SList" c:type="GSList*">
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="test_gslist_free" c:identifier="test_gslist_free">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="full">
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_gslist_nothing_in"
-              c:identifier="test_gslist_nothing_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_gslist_nothing_in2"
-              c:identifier="test_gslist_nothing_in2">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_gslist_nothing_return"
-              c:identifier="test_gslist_nothing_return">
-      <return-value transfer-ownership="none">
-        <type name="GLib.SList" c:type="GSList*">
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="test_gslist_nothing_return2"
-              c:identifier="test_gslist_nothing_return2">
-      <return-value transfer-ownership="none">
-        <type name="GLib.SList" c:type="GSList*">
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="test_gslist_null_in" c:identifier="test_gslist_null_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none" allow-none="1">
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_gslist_null_out" c:identifier="test_gslist_null_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="out_list"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full"
-                   allow-none="1">
-          <type name="GLib.SList" c:type="GSList**">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_gtype" c:identifier="test_gtype">
-      <return-value transfer-ownership="none">
-        <type name="GType" c:type="GType"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="GType" c:type="GType"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_int" c:identifier="test_int">
-      <return-value transfer-ownership="none">
-        <type name="int" c:type="gint"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="int" c:type="gint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_int16" c:identifier="test_int16">
-      <return-value transfer-ownership="none">
-        <type name="int16" c:type="gint16"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="int16" c:type="gint16"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_int32" c:identifier="test_int32">
-      <return-value transfer-ownership="none">
-        <type name="int32" c:type="gint32"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="int32" c:type="gint32"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_int64" c:identifier="test_int64">
-      <return-value transfer-ownership="none">
-        <type name="int64" c:type="gint64"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="int64" c:type="gint64"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_int8" c:identifier="test_int8">
-      <return-value transfer-ownership="none">
-        <type name="int8" c:type="gint8"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="int8" c:type="gint8"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_int_out_utf8" c:identifier="test_int_out_utf8">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="length"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int" c:type="int*"/>
-        </parameter>
-        <parameter name="in" transfer-ownership="none">
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_int_value_arg" c:identifier="test_int_value_arg">
-      <return-value transfer-ownership="none">
-        <type name="int" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="v" transfer-ownership="none">
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_long" c:identifier="test_long">
-      <return-value transfer-ownership="none">
-        <type name="long" c:type="glong"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="long" c:type="glong"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_multi_callback" c:identifier="test_multi_callback">
-      <return-value transfer-ownership="none">
-        <type name="int" c:type="int"/>
-      </return-value>
-      <parameters>
-        <parameter name="callback"
-                   transfer-ownership="none"
-                   allow-none="1"
-                   scope="call">
-          <type name="TestCallback" c:type="TestCallback"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_multi_double_args"
-              c:identifier="test_multi_double_args">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="double" c:type="gdouble"/>
-        </parameter>
-        <parameter name="one"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="double" c:type="gdouble*"/>
-        </parameter>
-        <parameter name="two"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="double" c:type="gdouble*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_object_null_in" c:identifier="test_object_null_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="obj" transfer-ownership="none" allow-none="1">
-          <doc xml:whitespace="preserve">A #TestObj</doc>
-          <type name="TestObj" c:type="TestObj*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_object_null_out" c:identifier="test_object_null_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="obj"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full"
-                   allow-none="1">
-          <doc xml:whitespace="preserve">A #TestObj</doc>
-          <type name="TestObj" c:type="TestObj**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_short" c:identifier="test_short">
-      <return-value transfer-ownership="none">
-        <type name="short" c:type="gshort"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="short" c:type="gshort"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_simple_boxed_a_const_return"
-              c:identifier="test_simple_boxed_a_const_return">
-      <return-value transfer-ownership="none">
-        <type name="TestSimpleBoxedA" c:type="TestSimpleBoxedA*"/>
-      </return-value>
-    </function>
-    <function name="test_simple_callback" c:identifier="test_simple_callback">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="callback"
-                   transfer-ownership="none"
-                   allow-none="1"
-                   scope="call">
-          <type name="TestSimpleCallback" c:type="TestSimpleCallback"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_size" c:identifier="test_size">
-      <return-value transfer-ownership="none">
-        <type name="gsize" c:type="gsize"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="gsize" c:type="gsize"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_ssize" c:identifier="test_ssize">
-      <return-value transfer-ownership="none">
-        <type name="gssize" c:type="gssize"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="gssize" c:type="gssize"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_strv_in" c:identifier="test_strv_in">
-      <return-value transfer-ownership="none">
-        <type name="boolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="arr" transfer-ownership="none">
-          <array c:type="char**">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_strv_in_container"
-              c:identifier="test_strv_in_container">
-      <return-value transfer-ownership="none">
-        <type name="boolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="arr" transfer-ownership="container">
-          <array c:type="char**">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_strv_in_gvalue" c:identifier="test_strv_in_gvalue">
-      <return-value transfer-ownership="full">
-        <type name="GObject.Value" c:type="GValue*"/>
-      </return-value>
-    </function>
-    <function name="test_strv_out" c:identifier="test_strv_out">
-      <doc xml:whitespace="preserve">No annotations here.  We want the default to Do The Right Thing.</doc>
-      <return-value transfer-ownership="full">
-        <array c:type="char**">
-          <type name="utf8"/>
-        </array>
-      </return-value>
-    </function>
-    <function name="test_strv_out_c" c:identifier="test_strv_out_c">
-      <doc xml:whitespace="preserve">No annotations here.  We want the default to Do The Right Thing.</doc>
-      <return-value transfer-ownership="full">
-        <array c:type="char**">
-          <type name="utf8"/>
-        </array>
-      </return-value>
-    </function>
-    <function name="test_strv_out_container"
-              c:identifier="test_strv_out_container">
-      <return-value transfer-ownership="container">
-        <array c:type="char**">
-          <type name="utf8"/>
-        </array>
-      </return-value>
-    </function>
-    <function name="test_strv_outarg" c:identifier="test_strv_outarg">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="retp"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="container">
-          <array c:type="char***">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_timet" c:identifier="test_timet">
-      <return-value transfer-ownership="none">
-        <type name="long" c:type="time_t"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="long" c:type="time_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_torture_signature_0"
-              c:identifier="test_torture_signature_0">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x" transfer-ownership="none">
-          <type name="int" c:type="int"/>
-        </parameter>
-        <parameter name="y"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="z"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int" c:type="int*"/>
-        </parameter>
-        <parameter name="foo" transfer-ownership="none">
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-        <parameter name="q"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int" c:type="int*"/>
-        </parameter>
-        <parameter name="m" transfer-ownership="none">
-          <type name="uint" c:type="guint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_torture_signature_1"
-              c:identifier="test_torture_signature_1"
-              throws="1">
-      <doc xml:whitespace="preserve">This function throws an error if m is odd.</doc>
-      <return-value transfer-ownership="none">
-        <type name="boolean" c:type="gboolean"/>
-      </return-value>
-      <parameters>
-        <parameter name="x" transfer-ownership="none">
-          <type name="int" c:type="int"/>
-        </parameter>
-        <parameter name="y"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="z"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int" c:type="int*"/>
-        </parameter>
-        <parameter name="foo" transfer-ownership="none">
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-        <parameter name="q"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int" c:type="int*"/>
-        </parameter>
-        <parameter name="m" transfer-ownership="none">
-          <type name="uint" c:type="guint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_torture_signature_2"
-              c:identifier="test_torture_signature_2">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="x" transfer-ownership="none">
-          <type name="int" c:type="int"/>
-        </parameter>
-        <parameter name="callback"
-                   transfer-ownership="none"
-                   scope="notified"
-                   closure="2"
-                   destroy="3">
-          <type name="TestCallbackUserData" c:type="TestCallbackUserData"/>
-        </parameter>
-        <parameter name="user_data" transfer-ownership="none">
-          <type name="any" c:type="gpointer"/>
-        </parameter>
-        <parameter name="notify" transfer-ownership="none" scope="call">
-          <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
-        </parameter>
-        <parameter name="y"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="double" c:type="double*"/>
-        </parameter>
-        <parameter name="z"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int" c:type="int*"/>
-        </parameter>
-        <parameter name="foo" transfer-ownership="none">
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-        <parameter name="q"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int" c:type="int*"/>
-        </parameter>
-        <parameter name="m" transfer-ownership="none">
-          <type name="uint" c:type="guint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_uint" c:identifier="test_uint">
-      <return-value transfer-ownership="none">
-        <type name="uint" c:type="guint"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="uint" c:type="guint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_uint16" c:identifier="test_uint16">
-      <return-value transfer-ownership="none">
-        <type name="uint16" c:type="guint16"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="uint16" c:type="guint16"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_uint32" c:identifier="test_uint32">
-      <return-value transfer-ownership="none">
-        <type name="uint32" c:type="guint32"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="uint32" c:type="guint32"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_uint64" c:identifier="test_uint64">
-      <return-value transfer-ownership="none">
-        <type name="uint64" c:type="guint64"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="uint64" c:type="guint64"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_uint8" c:identifier="test_uint8">
-      <return-value transfer-ownership="none">
-        <type name="uint8" c:type="guint8"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="uint8" c:type="guint8"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_ulong" c:identifier="test_ulong">
-      <return-value transfer-ownership="none">
-        <type name="ulong" c:type="gulong"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="ulong" c:type="gulong"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_ushort" c:identifier="test_ushort">
-      <return-value transfer-ownership="none">
-        <type name="ushort" c:type="gushort"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="ushort" c:type="gushort"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_utf8_const_in" c:identifier="test_utf8_const_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="none">
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_utf8_const_return"
-              c:identifier="test_utf8_const_return">
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">&lt;const char*&gt; UTF-8 string</doc>
-        <type name="utf8" c:type="char*"/>
-      </return-value>
-    </function>
-    <function name="test_utf8_inout" c:identifier="test_utf8_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="inout"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="utf8" c:type="char**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_utf8_nonconst_in"
-              c:identifier="test_utf8_nonconst_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="full">
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_utf8_nonconst_return"
-              c:identifier="test_utf8_nonconst_return">
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">&lt;char*&gt; UTF-8 string</doc>
-        <type name="utf8" c:type="char*"/>
-      </return-value>
-    </function>
-    <function name="test_utf8_null_in" c:identifier="test_utf8_null_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="in" transfer-ownership="full" allow-none="1">
-          <type name="utf8" c:type="char*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_utf8_null_out" c:identifier="test_utf8_null_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="char_out"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full"
-                   allow-none="1">
-          <type name="utf8" c:type="char**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_utf8_out" c:identifier="test_utf8_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="out"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="utf8" c:type="char**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_utf8_out_nonconst_return"
-              c:identifier="test_utf8_out_nonconst_return">
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">a copy of "first"</doc>
-        <type name="utf8" c:type="char*"/>
-      </return-value>
-      <parameters>
-        <parameter name="out"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">a copy of "second"</doc>
-          <type name="utf8" c:type="char**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_utf8_out_out" c:identifier="test_utf8_out_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="out0"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">a copy of "first"</doc>
-          <type name="utf8" c:type="char**"/>
-        </parameter>
-        <parameter name="out1"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <doc xml:whitespace="preserve">a copy of "second"</doc>
-          <type name="utf8" c:type="char**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_value_get_fundamental_object"
-              c:identifier="test_value_get_fundamental_object"
-              introspectable="0">
-      <return-value transfer-ownership="full">
-        <type name="TestFundamentalObject" c:type="TestFundamentalObject*"/>
-      </return-value>
-      <parameters>
-        <parameter name="value" transfer-ownership="none">
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_value_return" c:identifier="test_value_return">
-      <return-value transfer-ownership="none">
-        <doc xml:whitespace="preserve">the int wrapped in a GValue.</doc>
-        <type name="GObject.Value" c:type="GValue*"/>
-      </return-value>
-      <parameters>
-        <parameter name="i" transfer-ownership="none">
-          <doc xml:whitespace="preserve">an int</doc>
-          <type name="int" c:type="int"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="test_value_set_fundamental_object"
-              c:identifier="test_value_set_fundamental_object"
-              introspectable="0">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="value" transfer-ownership="none">
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-        <parameter name="fundamental_object" transfer-ownership="none">
-          <type name="TestFundamentalObject" c:type="TestFundamentalObject*"/>
-        </parameter>
-      </parameters>
-    </function>
-  </namespace>
-</repository>
diff --git a/basis/gobject-introspection/tests/everything/everything.factor b/basis/gobject-introspection/tests/everything/everything.factor
deleted file mode 100644 (file)
index bfb94a8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: gobject-introspection.tests.everything.ffi ;
-IN: gobject-introspection.tests.everything
-
diff --git a/basis/gobject-introspection/tests/everything/ffi/ffi.factor b/basis/gobject-introspection/tests/everything/ffi/ffi.factor
deleted file mode 100644 (file)
index d4a7c2f..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.c-types alien.libraries combinators kernel
-system
-gobject-introspection cairo.ffi gio.ffi glib.ffi gobject.ffi ;
-IN: gobject-introspection.tests.everything.ffi
-
-<<
-"gobject-introspection.tests.everything" {
-    { [ os winnt? ] [ drop ] }
-    { [ os macosx? ] [ drop ] }
-    { [ os unix? ] [ "libgirepository-everything-1.0.so" cdecl add-library ] }
-} cond
->>
-
-IMPLEMENT-STRUCTS: TestBoxed ;
-
-GIR: vocab:gobject-introspection/tests/everything/Everything-1.0.gir
-
diff --git a/basis/gobject-introspection/tests/g-i-marshalling-tests/GIMarshallingTests-1.0.gir b/basis/gobject-introspection/tests/g-i-marshalling-tests/GIMarshallingTests-1.0.gir
deleted file mode 100644 (file)
index 56d6277..0000000
+++ /dev/null
@@ -1,3600 +0,0 @@
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations.  -->
-<repository version="1.1"
-            xmlns="http://www.gtk.org/introspection/core/1.0"
-            xmlns:c="http://www.gtk.org/introspection/c/1.0"
-            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
-  <include name="GLib" version="2.0"/>
-  <include name="GObject" version="2.0"/>
-  <package name="gobject-2.0"/>
-  <namespace name="GIMarshallingTests"
-             version="1.0"
-             shared-library="libgirepository-gimarshallingtests-1.0.so.1"
-             c:prefix="GIMarshallingTests">
-    <record name="BoxedStruct"
-            c:type="GIMarshallingTestsBoxedStruct"
-            glib:type-name="GIMarshallingTestsBoxedStruct"
-            glib:get-type="g_i_marshalling_tests_boxed_struct_get_type">
-      <field name="long_" writable="1">
-        <type name="long" c:type="glong"/>
-      </field>
-      <field name="g_strv" writable="1">
-        <array c:type="GStrv">
-          <type name="utf8"/>
-        </array>
-      </field>
-      <constructor name="new"
-                   c:identifier="g_i_marshalling_tests_boxed_struct_new">
-        <return-value transfer-ownership="full">
-          <type name="BoxedStruct" c:type="GIMarshallingTestsBoxedStruct*"/>
-        </return-value>
-      </constructor>
-    </record>
-    <constant name="CONSTANT_NUMBER" value="42">
-      <type name="int"/>
-    </constant>
-    <constant name="CONSTANT_UTF8" value="const xe2x99xa5 utf8">
-      <type name="utf8"/>
-    </constant>
-    <enumeration name="Enum" c:type="GIMarshallingTestsEnum">
-      <member name="value1"
-              value="0"
-              c:identifier="G_I_MARSHALLING_TESTS_ENUM_VALUE1"/>
-      <member name="value2"
-              value="1"
-              c:identifier="G_I_MARSHALLING_TESTS_ENUM_VALUE2"/>
-      <member name="value3"
-              value="42"
-              c:identifier="G_I_MARSHALLING_TESTS_ENUM_VALUE3"/>
-    </enumeration>
-    <bitfield name="Flags"
-              glib:type-name="GIMarshallingTestsFlags"
-              glib:get-type="g_i_marshalling_tests_flags_get_type"
-              c:type="GIMarshallingTestsFlags">
-      <member name="value1"
-              value="1"
-              c:identifier="G_I_MARSHALLING_TESTS_FLAGS_VALUE1"
-              glib:nick="value1"/>
-      <member name="value2"
-              value="2"
-              c:identifier="G_I_MARSHALLING_TESTS_FLAGS_VALUE2"
-              glib:nick="value2"/>
-      <member name="value3"
-              value="4"
-              c:identifier="G_I_MARSHALLING_TESTS_FLAGS_VALUE3"
-              glib:nick="value3"/>
-    </bitfield>
-    <enumeration name="GEnum"
-                 glib:type-name="GIMarshallingTestsGEnum"
-                 glib:get-type="g_i_marshalling_tests_genum_get_type"
-                 c:type="GIMarshallingTestsGEnum">
-      <member name="value1"
-              value="0"
-              c:identifier="G_I_MARSHALLING_TESTS_GENUM_VALUE1"
-              glib:nick="value1"/>
-      <member name="value2"
-              value="1"
-              c:identifier="G_I_MARSHALLING_TESTS_GENUM_VALUE2"
-              glib:nick="value2"/>
-      <member name="value3"
-              value="42"
-              c:identifier="G_I_MARSHALLING_TESTS_GENUM_VALUE3"
-              glib:nick="value3"/>
-    </enumeration>
-    <interface name="Interface"
-               c:type="GIMarshallingTestsInterface"
-               glib:type-name="GIMarshallingTestsInterface"
-               glib:get-type="g_i_marshalling_tests_interface_get_type"
-               glib:type-struct="InterfaceIface">
-      <virtual-method name="test_int8_in" invoker="test_int8_in">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="in" transfer-ownership="none">
-            <type name="int8" c:type="gint8"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <method name="test_int8_in"
-              c:identifier="g_i_marshalling_tests_interface_test_int8_in">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="in" transfer-ownership="none">
-            <type name="int8" c:type="gint8"/>
-          </parameter>
-        </parameters>
-      </method>
-    </interface>
-    <record name="InterfaceIface"
-            c:type="GIMarshallingTestsInterfaceIface"
-            glib:is-gtype-struct-for="Interface">
-      <field name="base_iface">
-        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
-      </field>
-      <field name="test_int8_in">
-        <callback name="test_int8_in" c:type="test_int8_in">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="self" transfer-ownership="none">
-              <type name="Interface" c:type="GIMarshallingTestsInterface*"/>
-            </parameter>
-            <parameter name="in" transfer-ownership="none">
-              <type name="int8" c:type="gint8"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-    </record>
-    <record name="NestedStruct" c:type="GIMarshallingTestsNestedStruct">
-      <field name="simple_struct" writable="1">
-        <type name="SimpleStruct" c:type="GIMarshallingTestsSimpleStruct"/>
-      </field>
-    </record>
-    <record name="NotSimpleStruct" c:type="GIMarshallingTestsNotSimpleStruct">
-      <field name="pointer" writable="1">
-        <type name="NestedStruct" c:type="GIMarshallingTestsNestedStruct*"/>
-      </field>
-    </record>
-    <constant name="OVERRIDES_CONSTANT" value="42">
-      <type name="int"/>
-    </constant>
-    <class name="Object"
-           c:type="GIMarshallingTestsObject"
-           parent="GObject.Object"
-           glib:type-name="GIMarshallingTestsObject"
-           glib:get-type="g_i_marshalling_tests_object_get_type"
-           glib:type-struct="ObjectClass">
-      <constructor name="new" c:identifier="g_i_marshalling_tests_object_new">
-        <return-value transfer-ownership="full">
-          <type name="Object" c:type="GIMarshallingTestsObject*"/>
-        </return-value>
-        <parameters>
-          <parameter name="int_" transfer-ownership="none">
-            <type name="int" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <function name="static_method"
-                c:identifier="g_i_marshalling_tests_object_static_method">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </function>
-      <virtual-method name="method_int8_in" invoker="method_int8_in">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="in" transfer-ownership="none">
-            <type name="int8" c:type="gint8"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="method_int8_out" invoker="method_int8_out">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="out"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <type name="int8" c:type="gint8*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="method_with_default_implementation"
-                      invoker="method_with_default_implementation">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="in" transfer-ownership="none">
-            <type name="int8" c:type="gint8"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <method name="method" c:identifier="g_i_marshalling_tests_object_method">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="overridden_method"
-              c:identifier="g_i_marshalling_tests_object_overridden_method">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="method_array_in"
-              c:identifier="g_i_marshalling_tests_object_method_array_in">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="ints" transfer-ownership="none">
-            <array length="2" c:type="gint*">
-              <type name="int"/>
-            </array>
-          </parameter>
-          <parameter name="length" transfer-ownership="none">
-            <type name="int" c:type="gint"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="method_array_out"
-              c:identifier="g_i_marshalling_tests_object_method_array_out">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="ints"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="none">
-            <array length="2" c:type="gint**">
-              <type name="int"/>
-            </array>
-          </parameter>
-          <parameter name="length"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <type name="int" c:type="gint*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="method_array_inout"
-              c:identifier="g_i_marshalling_tests_object_method_array_inout">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="ints"
-                     direction="inout"
-                     caller-allocates="0"
-                     transfer-ownership="none">
-            <array length="2" c:type="gint**">
-              <type name="int"/>
-            </array>
-          </parameter>
-          <parameter name="length"
-                     direction="inout"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <type name="int" c:type="gint*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="method_array_return"
-              c:identifier="g_i_marshalling_tests_object_method_array_return">
-        <return-value transfer-ownership="none">
-          <array length="1" c:type="gint*">
-            <type name="int"/>
-          </array>
-        </return-value>
-        <parameters>
-          <parameter name="length"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <type name="int" c:type="gint*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="method_int8_in"
-              c:identifier="g_i_marshalling_tests_object_method_int8_in">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="in" transfer-ownership="none">
-            <type name="int8" c:type="gint8"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="method_int8_out"
-              c:identifier="g_i_marshalling_tests_object_method_int8_out">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="out"
-                     direction="out"
-                     caller-allocates="0"
-                     transfer-ownership="full">
-            <type name="int8" c:type="gint8*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="method_with_default_implementation"
-              c:identifier="g_i_marshalling_tests_object_method_with_default_implementation">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="in" transfer-ownership="none">
-            <type name="int8" c:type="gint8"/>
-          </parameter>
-        </parameters>
-      </method>
-      <property name="int"
-                writable="1"
-                construct="1"
-                transfer-ownership="none">
-        <type name="int" c:type="gint"/>
-      </property>
-      <field name="parent_instance">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="int_">
-        <type name="int" c:type="gint"/>
-      </field>
-    </class>
-    <record name="ObjectClass"
-            c:type="GIMarshallingTestsObjectClass"
-            glib:is-gtype-struct-for="Object">
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="method_int8_in">
-        <callback name="method_int8_in" c:type="method_int8_in">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="self" transfer-ownership="none">
-              <type name="Object" c:type="GIMarshallingTestsObject*"/>
-            </parameter>
-            <parameter name="in" transfer-ownership="none">
-              <type name="int8" c:type="gint8"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="method_int8_out">
-        <callback name="method_int8_out" c:type="method_int8_out">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="self" transfer-ownership="none">
-              <type name="Object" c:type="GIMarshallingTestsObject*"/>
-            </parameter>
-            <parameter name="out"
-                       direction="out"
-                       caller-allocates="0"
-                       transfer-ownership="full">
-              <type name="int8" c:type="gint8*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="method_with_default_implementation">
-        <callback name="method_with_default_implementation"
-                  c:type="method_with_default_implementation">
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="self" transfer-ownership="none">
-              <type name="Object" c:type="GIMarshallingTestsObject*"/>
-            </parameter>
-            <parameter name="in" transfer-ownership="none">
-              <type name="int8" c:type="gint8"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-    </record>
-    <class name="OverridesObject"
-           c:type="GIMarshallingTestsOverridesObject"
-           parent="GObject.Object"
-           glib:type-name="GIMarshallingTestsOverridesObject"
-           glib:get-type="g_i_marshalling_tests_overrides_object_get_type"
-           glib:type-struct="OverridesObjectClass">
-      <constructor name="new"
-                   c:identifier="g_i_marshalling_tests_overrides_object_new">
-        <return-value transfer-ownership="full">
-          <type name="OverridesObject"
-                c:type="GIMarshallingTestsOverridesObject*"/>
-        </return-value>
-      </constructor>
-      <method name="method"
-              c:identifier="g_i_marshalling_tests_overrides_object_method">
-        <return-value transfer-ownership="none">
-          <type name="long" c:type="glong"/>
-        </return-value>
-      </method>
-      <field name="parent_instance">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="long_">
-        <type name="long" c:type="glong"/>
-      </field>
-    </class>
-    <record name="OverridesObjectClass"
-            c:type="GIMarshallingTestsOverridesObjectClass"
-            glib:is-gtype-struct-for="OverridesObject">
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-    </record>
-    <record name="OverridesStruct"
-            c:type="GIMarshallingTestsOverridesStruct"
-            glib:type-name="GIMarshallingTestsOverridesStruct"
-            glib:get-type="g_i_marshalling_tests_overrides_struct_get_type">
-      <field name="long_" writable="1">
-        <type name="long" c:type="glong"/>
-      </field>
-      <constructor name="new"
-                   c:identifier="g_i_marshalling_tests_overrides_struct_new">
-        <return-value transfer-ownership="full">
-          <type name="OverridesStruct"
-                c:type="GIMarshallingTestsOverridesStruct*"/>
-        </return-value>
-      </constructor>
-      <method name="method"
-              c:identifier="g_i_marshalling_tests_overrides_struct_method">
-        <return-value transfer-ownership="none">
-          <type name="long" c:type="glong"/>
-        </return-value>
-      </method>
-    </record>
-    <record name="PointerStruct" c:type="GIMarshallingTestsPointerStruct">
-      <field name="long_" writable="1">
-        <type name="long" c:type="glong"/>
-      </field>
-    </record>
-    <record name="SimpleStruct" c:type="GIMarshallingTestsSimpleStruct">
-      <field name="long_" writable="1">
-        <type name="long" c:type="glong"/>
-      </field>
-      <field name="int8" writable="1">
-        <type name="int8" c:type="gint8"/>
-      </field>
-      <method name="method"
-              c:identifier="g_i_marshalling_tests_simple_struct_method">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-    </record>
-    <class name="SubObject"
-           c:type="GIMarshallingTestsSubObject"
-           parent="Object"
-           glib:type-name="GIMarshallingTestsSubObject"
-           glib:get-type="g_i_marshalling_tests_sub_object_get_type"
-           glib:type-struct="SubObjectClass">
-      <method name="sub_method"
-              c:identifier="g_i_marshalling_tests_sub_object_sub_method">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <method name="overwritten_method"
-              c:identifier="g_i_marshalling_tests_sub_object_overwritten_method">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-      <field name="parent_instance">
-        <type name="Object" c:type="GIMarshallingTestsObject"/>
-      </field>
-    </class>
-    <record name="SubObjectClass"
-            c:type="GIMarshallingTestsSubObjectClass"
-            glib:is-gtype-struct-for="SubObject">
-      <field name="parent_class">
-        <type name="ObjectClass" c:type="GIMarshallingTestsObjectClass"/>
-      </field>
-    </record>
-    <union name="Union"
-           c:type="GIMarshallingTestsUnion"
-           glib:type-name="GIMarshallingTestsUnion"
-           glib:get-type="g_i_marshalling_tests_union_get_type">
-      <field name="long_" writable="1">
-        <type name="long" c:type="glong"/>
-      </field>
-      <method name="method" c:identifier="g_i_marshalling_tests_union_method">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-      </method>
-    </union>
-    <function name="array_fixed_inout"
-              c:identifier="g_i_marshalling_tests_array_fixed_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ints"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <array c:type="gint**" fixed-size="4">
-            <type name="int"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="array_fixed_int_in"
-              c:identifier="g_i_marshalling_tests_array_fixed_int_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ints" transfer-ownership="none">
-          <array c:type="gint*" fixed-size="4">
-            <type name="int"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="array_fixed_int_return"
-              c:identifier="g_i_marshalling_tests_array_fixed_int_return">
-      <return-value transfer-ownership="none">
-        <array c:type="gint*" fixed-size="4">
-          <type name="int"/>
-        </array>
-      </return-value>
-    </function>
-    <function name="array_fixed_out"
-              c:identifier="g_i_marshalling_tests_array_fixed_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ints"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <array c:type="gint**" fixed-size="4">
-            <type name="int"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="array_fixed_out_struct"
-              c:identifier="g_i_marshalling_tests_array_fixed_out_struct">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="structs"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <array c:type="GIMarshallingTestsSimpleStruct**" fixed-size="2">
-            <type name="SimpleStruct"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="array_fixed_short_in"
-              c:identifier="g_i_marshalling_tests_array_fixed_short_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="shorts" transfer-ownership="none">
-          <array c:type="gshort*" fixed-size="4">
-            <type name="short"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="array_fixed_short_return"
-              c:identifier="g_i_marshalling_tests_array_fixed_short_return">
-      <return-value transfer-ownership="none">
-        <array c:type="gshort*" fixed-size="4">
-          <type name="short"/>
-        </array>
-      </return-value>
-    </function>
-    <function name="array_in" c:identifier="g_i_marshalling_tests_array_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ints" transfer-ownership="none">
-          <array length="1" c:type="gint*">
-            <type name="int"/>
-          </array>
-        </parameter>
-        <parameter name="length" transfer-ownership="none">
-          <type name="int" c:type="gint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="array_inout"
-              c:identifier="g_i_marshalling_tests_array_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ints"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <array length="1" c:type="gint**">
-            <type name="int"/>
-          </array>
-        </parameter>
-        <parameter name="length"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int" c:type="gint*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="array_out" c:identifier="g_i_marshalling_tests_array_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ints"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <array length="1" c:type="gint**">
-            <type name="int"/>
-          </array>
-        </parameter>
-        <parameter name="length"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int" c:type="gint*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="array_return"
-              c:identifier="g_i_marshalling_tests_array_return">
-      <return-value transfer-ownership="none">
-        <array length="0" c:type="gint*">
-          <type name="int"/>
-        </array>
-      </return-value>
-      <parameters>
-        <parameter name="length"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int" c:type="gint*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="array_zero_terminated_in"
-              c:identifier="g_i_marshalling_tests_array_zero_terminated_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="utf8s" transfer-ownership="none">
-          <array c:type="gchar**">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="array_zero_terminated_inout"
-              c:identifier="g_i_marshalling_tests_array_zero_terminated_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="utf8s"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <array c:type="gchar***">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="array_zero_terminated_out"
-              c:identifier="g_i_marshalling_tests_array_zero_terminated_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="utf8s"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <array c:type="gchar***">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="array_zero_terminated_return"
-              c:identifier="g_i_marshalling_tests_array_zero_terminated_return">
-      <return-value transfer-ownership="none">
-        <array c:type="gchar**">
-          <type name="utf8"/>
-        </array>
-      </return-value>
-    </function>
-    <function name="boolean_in_false"
-              c:identifier="g_i_marshalling_tests_boolean_in_false">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="bool_" transfer-ownership="none">
-          <type name="boolean" c:type="gboolean"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="boolean_in_true"
-              c:identifier="g_i_marshalling_tests_boolean_in_true">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="bool_" transfer-ownership="none">
-          <type name="boolean" c:type="gboolean"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="boolean_inout_false_true"
-              c:identifier="g_i_marshalling_tests_boolean_inout_false_true">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="bool_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="boolean" c:type="gboolean*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="boolean_inout_true_false"
-              c:identifier="g_i_marshalling_tests_boolean_inout_true_false">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="bool_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="boolean" c:type="gboolean*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="boolean_out_false"
-              c:identifier="g_i_marshalling_tests_boolean_out_false">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="bool_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="boolean" c:type="gboolean*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="boolean_out_true"
-              c:identifier="g_i_marshalling_tests_boolean_out_true">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="bool_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="boolean" c:type="gboolean*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="boolean_return_false"
-              c:identifier="g_i_marshalling_tests_boolean_return_false">
-      <return-value transfer-ownership="none">
-        <type name="boolean" c:type="gboolean"/>
-      </return-value>
-    </function>
-    <function name="boolean_return_true"
-              c:identifier="g_i_marshalling_tests_boolean_return_true">
-      <return-value transfer-ownership="none">
-        <type name="boolean" c:type="gboolean"/>
-      </return-value>
-    </function>
-    <function name="boxed_struct_in"
-              c:identifier="g_i_marshalling_tests__boxed_struct_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="struct_" transfer-ownership="none">
-          <type name="BoxedStruct" c:type="GIMarshallingTestsBoxedStruct*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="boxed_struct_inout"
-              c:identifier="g_i_marshalling_tests__boxed_struct_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="struct_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="BoxedStruct" c:type="GIMarshallingTestsBoxedStruct**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="boxed_struct_out"
-              c:identifier="g_i_marshalling_tests__boxed_struct_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="struct_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="BoxedStruct" c:type="GIMarshallingTestsBoxedStruct**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="boxed_struct_return"
-              c:identifier="g_i_marshalling_tests__boxed_struct_return">
-      <return-value transfer-ownership="none">
-        <type name="BoxedStruct" c:type="GIMarshallingTestsBoxedStruct*"/>
-      </return-value>
-    </function>
-    <function name="bytearray_full_return"
-              c:identifier="g_i_marshalling_tests_bytearray_full_return">
-      <return-value transfer-ownership="full">
-        <array name="GLib.ByteArray" c:type="GByteArray*">
-          <type name="any" c:type="gpointer"/>
-        </array>
-      </return-value>
-    </function>
-    <function name="bytearray_none_in"
-              c:identifier="g_i_marshalling_tests_bytearray_none_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="array_" transfer-ownership="none">
-          <array name="GLib.ByteArray" c:type="GByteArray*">
-            <type name="int"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="double_in" c:identifier="g_i_marshalling_tests_double_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="double_" transfer-ownership="none">
-          <type name="double" c:type="gdouble"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="double_inout"
-              c:identifier="g_i_marshalling_tests_double_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="double_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="double" c:type="gdouble*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="double_out"
-              c:identifier="g_i_marshalling_tests_double_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="double_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="double" c:type="gdouble*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="double_return"
-              c:identifier="g_i_marshalling_tests_double_return">
-      <return-value transfer-ownership="none">
-        <type name="double" c:type="gdouble"/>
-      </return-value>
-    </function>
-    <function name="enum_in" c:identifier="g_i_marshalling_tests_enum_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="enum_" transfer-ownership="none">
-          <type name="Enum" c:type="GIMarshallingTestsEnum"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="enum_inout"
-              c:identifier="g_i_marshalling_tests_enum_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="enum_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="Enum" c:type="GIMarshallingTestsEnum*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="enum_out" c:identifier="g_i_marshalling_tests_enum_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="enum_"
-                   direction="out"
-                   caller-allocates="1"
-                   transfer-ownership="none">
-          <type name="Enum" c:type="GIMarshallingTestsEnum*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="enum_return"
-              c:identifier="g_i_marshalling_tests_enum_return">
-      <return-value transfer-ownership="full">
-        <type name="Enum" c:type="GIMarshallingTestsEnum"/>
-      </return-value>
-    </function>
-    <function name="filename_list_return"
-              c:identifier="g_i_marshalling_tests_filename_list_return"
-              introspectable="0">
-      <return-value transfer-ownership="full">
-        <type name="GLib.SList" c:type="GSList*">
-          <type name="any" c:type="gpointer"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="flags_in" c:identifier="g_i_marshalling_tests_flags_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="flags_" transfer-ownership="none">
-          <type name="Flags" c:type="GIMarshallingTestsFlags"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="flags_in_zero"
-              c:identifier="g_i_marshalling_tests_flags_in_zero">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="flags" transfer-ownership="none">
-          <type name="Flags" c:type="GIMarshallingTestsFlags"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="flags_inout"
-              c:identifier="g_i_marshalling_tests_flags_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="flags_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="Flags" c:type="GIMarshallingTestsFlags*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="flags_out" c:identifier="g_i_marshalling_tests_flags_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="flags_"
-                   direction="out"
-                   caller-allocates="1"
-                   transfer-ownership="none">
-          <type name="Flags" c:type="GIMarshallingTestsFlags*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="flags_return"
-              c:identifier="g_i_marshalling_tests_flags_return">
-      <return-value transfer-ownership="full">
-        <type name="Flags" c:type="GIMarshallingTestsFlags"/>
-      </return-value>
-    </function>
-    <function name="float_in" c:identifier="g_i_marshalling_tests_float_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="float_" transfer-ownership="none">
-          <type name="float" c:type="gfloat"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="float_inout"
-              c:identifier="g_i_marshalling_tests_float_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="float_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="float" c:type="gfloat*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="float_out" c:identifier="g_i_marshalling_tests_float_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="float_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="float" c:type="gfloat*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="float_return"
-              c:identifier="g_i_marshalling_tests_float_return">
-      <return-value transfer-ownership="none">
-        <type name="float" c:type="gfloat"/>
-      </return-value>
-    </function>
-    <function name="garray_int_none_in"
-              c:identifier="g_i_marshalling_tests_garray_int_none_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="array_" transfer-ownership="none">
-          <array name="GLib.Array" c:type="GArray*">
-            <type name="int"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="garray_int_none_return"
-              c:identifier="g_i_marshalling_tests_garray_int_none_return">
-      <return-value transfer-ownership="none">
-        <array name="GLib.Array" c:type="GArray*">
-          <type name="int"/>
-        </array>
-      </return-value>
-    </function>
-    <function name="garray_utf8_container_in"
-              c:identifier="g_i_marshalling_tests_garray_utf8_container_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="array_" transfer-ownership="container">
-          <array name="GLib.Array" c:type="GArray*">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="garray_utf8_container_inout"
-              c:identifier="g_i_marshalling_tests_garray_utf8_container_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="array_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="container">
-          <array name="GLib.Array" c:type="GArray**">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="garray_utf8_container_out"
-              c:identifier="g_i_marshalling_tests_garray_utf8_container_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="array_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="container">
-          <array name="GLib.Array" c:type="GArray**">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="garray_utf8_container_return"
-              c:identifier="g_i_marshalling_tests_garray_utf8_container_return">
-      <return-value transfer-ownership="container">
-        <array name="GLib.Array" c:type="GArray*">
-          <type name="utf8"/>
-        </array>
-      </return-value>
-    </function>
-    <function name="garray_utf8_full_in"
-              c:identifier="g_i_marshalling_tests_garray_utf8_full_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="array_" transfer-ownership="full">
-          <array name="GLib.Array" c:type="GArray*">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="garray_utf8_full_inout"
-              c:identifier="g_i_marshalling_tests_garray_utf8_full_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="array_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <array name="GLib.Array" c:type="GArray**">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="garray_utf8_full_out"
-              c:identifier="g_i_marshalling_tests_garray_utf8_full_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="array_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <array name="GLib.Array" c:type="GArray**">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="garray_utf8_full_return"
-              c:identifier="g_i_marshalling_tests_garray_utf8_full_return">
-      <return-value transfer-ownership="full">
-        <array name="GLib.Array" c:type="GArray*">
-          <type name="utf8"/>
-        </array>
-      </return-value>
-    </function>
-    <function name="garray_utf8_none_in"
-              c:identifier="g_i_marshalling_tests_garray_utf8_none_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="array_" transfer-ownership="none">
-          <array name="GLib.Array" c:type="GArray*">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="garray_utf8_none_inout"
-              c:identifier="g_i_marshalling_tests_garray_utf8_none_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="array_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <array name="GLib.Array" c:type="GArray**">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="garray_utf8_none_out"
-              c:identifier="g_i_marshalling_tests_garray_utf8_none_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="array_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <array name="GLib.Array" c:type="GArray**">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="garray_utf8_none_return"
-              c:identifier="g_i_marshalling_tests_garray_utf8_none_return">
-      <return-value transfer-ownership="none">
-        <array name="GLib.Array" c:type="GArray*">
-          <type name="utf8"/>
-        </array>
-      </return-value>
-    </function>
-    <function name="gclosure_in"
-              c:identifier="g_i_marshalling_tests_gclosure_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="closure" transfer-ownership="none">
-          <type name="GObject.Closure" c:type="GClosure*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="genum_in" c:identifier="g_i_marshalling_tests_genum_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="enum_" transfer-ownership="none">
-          <type name="GEnum" c:type="GIMarshallingTestsGEnum"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="genum_inout"
-              c:identifier="g_i_marshalling_tests_genum_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="enum_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="GEnum" c:type="GIMarshallingTestsGEnum*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="genum_out" c:identifier="g_i_marshalling_tests_genum_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="enum_"
-                   direction="out"
-                   caller-allocates="1"
-                   transfer-ownership="none">
-          <type name="GEnum" c:type="GIMarshallingTestsGEnum*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="genum_return"
-              c:identifier="g_i_marshalling_tests_genum_return">
-      <return-value transfer-ownership="full">
-        <type name="Enum" c:type="GIMarshallingTestsEnum"/>
-      </return-value>
-    </function>
-    <function name="ghashtable_int_none_in"
-              c:identifier="g_i_marshalling_tests_ghashtable_int_none_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="hash_table" transfer-ownership="none">
-          <type name="GLib.HashTable" c:type="GHashTable*">
-            <type name="int"/>
-            <type name="int"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ghashtable_int_none_return"
-              c:identifier="g_i_marshalling_tests_ghashtable_int_none_return">
-      <return-value transfer-ownership="none">
-        <type name="GLib.HashTable" c:type="GHashTable*">
-          <type name="int"/>
-          <type name="int"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="ghashtable_utf8_container_in"
-              c:identifier="g_i_marshalling_tests_ghashtable_utf8_container_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="hash_table" transfer-ownership="container">
-          <type name="GLib.HashTable" c:type="GHashTable*">
-            <type name="utf8"/>
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ghashtable_utf8_container_inout"
-              c:identifier="g_i_marshalling_tests_ghashtable_utf8_container_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="hash_table"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="container">
-          <type name="GLib.HashTable" c:type="GHashTable**">
-            <type name="utf8"/>
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ghashtable_utf8_container_out"
-              c:identifier="g_i_marshalling_tests_ghashtable_utf8_container_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="hash_table"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="container">
-          <type name="GLib.HashTable" c:type="GHashTable**">
-            <type name="utf8"/>
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ghashtable_utf8_container_return"
-              c:identifier="g_i_marshalling_tests_ghashtable_utf8_container_return">
-      <return-value transfer-ownership="container">
-        <type name="GLib.HashTable" c:type="GHashTable*">
-          <type name="utf8"/>
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="ghashtable_utf8_full_in"
-              c:identifier="g_i_marshalling_tests_ghashtable_utf8_full_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="hash_table" transfer-ownership="full">
-          <type name="GLib.HashTable" c:type="GHashTable*">
-            <type name="utf8"/>
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ghashtable_utf8_full_inout"
-              c:identifier="g_i_marshalling_tests_ghashtable_utf8_full_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="hash_table"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="GLib.HashTable" c:type="GHashTable**">
-            <type name="utf8"/>
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ghashtable_utf8_full_out"
-              c:identifier="g_i_marshalling_tests_ghashtable_utf8_full_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="hash_table"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="GLib.HashTable" c:type="GHashTable**">
-            <type name="utf8"/>
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ghashtable_utf8_full_return"
-              c:identifier="g_i_marshalling_tests_ghashtable_utf8_full_return">
-      <return-value transfer-ownership="full">
-        <type name="GLib.HashTable" c:type="GHashTable*">
-          <type name="utf8"/>
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="ghashtable_utf8_none_in"
-              c:identifier="g_i_marshalling_tests_ghashtable_utf8_none_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="hash_table" transfer-ownership="none">
-          <type name="GLib.HashTable" c:type="GHashTable*">
-            <type name="utf8"/>
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ghashtable_utf8_none_inout"
-              c:identifier="g_i_marshalling_tests_ghashtable_utf8_none_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="hash_table"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="GLib.HashTable" c:type="GHashTable**">
-            <type name="utf8"/>
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ghashtable_utf8_none_out"
-              c:identifier="g_i_marshalling_tests_ghashtable_utf8_none_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="hash_table"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="GLib.HashTable" c:type="GHashTable**">
-            <type name="utf8"/>
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ghashtable_utf8_none_return"
-              c:identifier="g_i_marshalling_tests_ghashtable_utf8_none_return">
-      <return-value transfer-ownership="none">
-        <type name="GLib.HashTable" c:type="GHashTable*">
-          <type name="utf8"/>
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="glist_int_none_in"
-              c:identifier="g_i_marshalling_tests_glist_int_none_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list" transfer-ownership="none">
-          <type name="GLib.List" c:type="GList*">
-            <type name="int"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="glist_int_none_return"
-              c:identifier="g_i_marshalling_tests_glist_int_none_return">
-      <return-value transfer-ownership="none">
-        <type name="GLib.List" c:type="GList*">
-          <type name="int"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="glist_utf8_container_in"
-              c:identifier="g_i_marshalling_tests_glist_utf8_container_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list" transfer-ownership="container">
-          <type name="GLib.List" c:type="GList*">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="glist_utf8_container_inout"
-              c:identifier="g_i_marshalling_tests_glist_utf8_container_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="container">
-          <type name="GLib.List" c:type="GList**">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="glist_utf8_container_out"
-              c:identifier="g_i_marshalling_tests_glist_utf8_container_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="container">
-          <type name="GLib.List" c:type="GList**">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="glist_utf8_container_return"
-              c:identifier="g_i_marshalling_tests_glist_utf8_container_return">
-      <return-value transfer-ownership="container">
-        <type name="GLib.List" c:type="GList*">
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="glist_utf8_full_in"
-              c:identifier="g_i_marshalling_tests_glist_utf8_full_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list" transfer-ownership="full">
-          <type name="GLib.List" c:type="GList*">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="glist_utf8_full_inout"
-              c:identifier="g_i_marshalling_tests_glist_utf8_full_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="GLib.List" c:type="GList**">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="glist_utf8_full_out"
-              c:identifier="g_i_marshalling_tests_glist_utf8_full_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="GLib.List" c:type="GList**">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="glist_utf8_full_return"
-              c:identifier="g_i_marshalling_tests_glist_utf8_full_return">
-      <return-value transfer-ownership="full">
-        <type name="GLib.List" c:type="GList*">
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="glist_utf8_none_in"
-              c:identifier="g_i_marshalling_tests_glist_utf8_none_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list" transfer-ownership="none">
-          <type name="GLib.List" c:type="GList*">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="glist_utf8_none_inout"
-              c:identifier="g_i_marshalling_tests_glist_utf8_none_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="GLib.List" c:type="GList**">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="glist_utf8_none_out"
-              c:identifier="g_i_marshalling_tests_glist_utf8_none_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="GLib.List" c:type="GList**">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="glist_utf8_none_return"
-              c:identifier="g_i_marshalling_tests_glist_utf8_none_return">
-      <return-value transfer-ownership="none">
-        <type name="GLib.List" c:type="GList*">
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="gslist_int_none_in"
-              c:identifier="g_i_marshalling_tests_gslist_int_none_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list" transfer-ownership="none">
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="int"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gslist_int_none_return"
-              c:identifier="g_i_marshalling_tests_gslist_int_none_return">
-      <return-value transfer-ownership="none">
-        <type name="GLib.SList" c:type="GSList*">
-          <type name="int"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="gslist_utf8_container_in"
-              c:identifier="g_i_marshalling_tests_gslist_utf8_container_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list" transfer-ownership="container">
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gslist_utf8_container_inout"
-              c:identifier="g_i_marshalling_tests_gslist_utf8_container_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="container">
-          <type name="GLib.SList" c:type="GSList**">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gslist_utf8_container_out"
-              c:identifier="g_i_marshalling_tests_gslist_utf8_container_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="container">
-          <type name="GLib.SList" c:type="GSList**">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gslist_utf8_container_return"
-              c:identifier="g_i_marshalling_tests_gslist_utf8_container_return">
-      <return-value transfer-ownership="container">
-        <type name="GLib.SList" c:type="GSList*">
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="gslist_utf8_full_in"
-              c:identifier="g_i_marshalling_tests_gslist_utf8_full_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list" transfer-ownership="full">
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gslist_utf8_full_inout"
-              c:identifier="g_i_marshalling_tests_gslist_utf8_full_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="GLib.SList" c:type="GSList**">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gslist_utf8_full_out"
-              c:identifier="g_i_marshalling_tests_gslist_utf8_full_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="GLib.SList" c:type="GSList**">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gslist_utf8_full_return"
-              c:identifier="g_i_marshalling_tests_gslist_utf8_full_return">
-      <return-value transfer-ownership="full">
-        <type name="GLib.SList" c:type="GSList*">
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="gslist_utf8_none_in"
-              c:identifier="g_i_marshalling_tests_gslist_utf8_none_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list" transfer-ownership="none">
-          <type name="GLib.SList" c:type="GSList*">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gslist_utf8_none_inout"
-              c:identifier="g_i_marshalling_tests_gslist_utf8_none_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="GLib.SList" c:type="GSList**">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gslist_utf8_none_out"
-              c:identifier="g_i_marshalling_tests_gslist_utf8_none_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="list"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="GLib.SList" c:type="GSList**">
-            <type name="utf8"/>
-          </type>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gslist_utf8_none_return"
-              c:identifier="g_i_marshalling_tests_gslist_utf8_none_return">
-      <return-value transfer-ownership="none">
-        <type name="GLib.SList" c:type="GSList*">
-          <type name="utf8"/>
-        </type>
-      </return-value>
-    </function>
-    <function name="gstrv_in" c:identifier="g_i_marshalling_tests_gstrv_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="g_strv" transfer-ownership="none">
-          <array c:type="GStrv">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gstrv_inout"
-              c:identifier="g_i_marshalling_tests_gstrv_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="g_strv"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <array c:type="GStrv*">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gstrv_out" c:identifier="g_i_marshalling_tests_gstrv_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="g_strv"
-                   direction="out"
-                   caller-allocates="1"
-                   transfer-ownership="none">
-          <array c:type="GStrv*">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gstrv_return"
-              c:identifier="g_i_marshalling_tests_gstrv_return">
-      <return-value transfer-ownership="full">
-        <doc xml:whitespace="preserve">an array of strings</doc>
-        <array c:type="GStrv">
-          <type name="utf8"/>
-        </array>
-      </return-value>
-    </function>
-    <function name="gtype_in" c:identifier="g_i_marshalling_tests_gtype_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="gtype" transfer-ownership="none">
-          <type name="GType" c:type="GType"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gtype_inout"
-              c:identifier="g_i_marshalling_tests_gtype_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="gtype"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="GType" c:type="GType*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gtype_out" c:identifier="g_i_marshalling_tests_gtype_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="gtype"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="GType" c:type="GType*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gtype_return"
-              c:identifier="g_i_marshalling_tests_gtype_return">
-      <return-value transfer-ownership="none">
-        <type name="GType" c:type="GType"/>
-      </return-value>
-    </function>
-    <function name="gvalue_in" c:identifier="g_i_marshalling_tests_gvalue_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="value" transfer-ownership="none">
-          <type name="GObject.Value" c:type="GValue*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gvalue_inout"
-              c:identifier="g_i_marshalling_tests_gvalue_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="value"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="GObject.Value" c:type="GValue**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gvalue_out"
-              c:identifier="g_i_marshalling_tests_gvalue_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="value"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="GObject.Value" c:type="GValue**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="gvalue_return"
-              c:identifier="g_i_marshalling_tests_gvalue_return">
-      <return-value transfer-ownership="none">
-        <type name="GObject.Value" c:type="GValue*"/>
-      </return-value>
-    </function>
-    <function name="int16_in_max"
-              c:identifier="g_i_marshalling_tests_int16_in_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int16" transfer-ownership="none">
-          <type name="int16" c:type="gint16"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int16_in_min"
-              c:identifier="g_i_marshalling_tests_int16_in_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int16" transfer-ownership="none">
-          <type name="int16" c:type="gint16"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int16_inout_max_min"
-              c:identifier="g_i_marshalling_tests_int16_inout_max_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int16"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int16" c:type="gint16*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int16_inout_min_max"
-              c:identifier="g_i_marshalling_tests_int16_inout_min_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int16"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int16" c:type="gint16*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int16_out_max"
-              c:identifier="g_i_marshalling_tests_int16_out_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int16"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int16" c:type="gint16*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int16_out_min"
-              c:identifier="g_i_marshalling_tests_int16_out_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int16"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int16" c:type="gint16*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int16_return_max"
-              c:identifier="g_i_marshalling_tests_int16_return_max">
-      <return-value transfer-ownership="none">
-        <type name="int16" c:type="gint16"/>
-      </return-value>
-    </function>
-    <function name="int16_return_min"
-              c:identifier="g_i_marshalling_tests_int16_return_min">
-      <return-value transfer-ownership="none">
-        <type name="int16" c:type="gint16"/>
-      </return-value>
-    </function>
-    <function name="int32_in_max"
-              c:identifier="g_i_marshalling_tests_int32_in_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int32" transfer-ownership="none">
-          <type name="int32" c:type="gint32"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int32_in_min"
-              c:identifier="g_i_marshalling_tests_int32_in_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int32" transfer-ownership="none">
-          <type name="int32" c:type="gint32"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int32_inout_max_min"
-              c:identifier="g_i_marshalling_tests_int32_inout_max_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int32"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int32" c:type="gint32*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int32_inout_min_max"
-              c:identifier="g_i_marshalling_tests_int32_inout_min_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int32"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int32" c:type="gint32*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int32_out_max"
-              c:identifier="g_i_marshalling_tests_int32_out_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int32"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int32" c:type="gint32*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int32_out_min"
-              c:identifier="g_i_marshalling_tests_int32_out_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int32"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int32" c:type="gint32*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int32_return_max"
-              c:identifier="g_i_marshalling_tests_int32_return_max">
-      <return-value transfer-ownership="none">
-        <type name="int32" c:type="gint32"/>
-      </return-value>
-    </function>
-    <function name="int32_return_min"
-              c:identifier="g_i_marshalling_tests_int32_return_min">
-      <return-value transfer-ownership="none">
-        <type name="int32" c:type="gint32"/>
-      </return-value>
-    </function>
-    <function name="int64_in_max"
-              c:identifier="g_i_marshalling_tests_int64_in_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int64" transfer-ownership="none">
-          <type name="int64" c:type="gint64"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int64_in_min"
-              c:identifier="g_i_marshalling_tests_int64_in_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int64" transfer-ownership="none">
-          <type name="int64" c:type="gint64"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int64_inout_max_min"
-              c:identifier="g_i_marshalling_tests_int64_inout_max_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int64"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int64" c:type="gint64*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int64_inout_min_max"
-              c:identifier="g_i_marshalling_tests_int64_inout_min_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int64"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int64" c:type="gint64*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int64_out_max"
-              c:identifier="g_i_marshalling_tests_int64_out_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int64"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int64" c:type="gint64*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int64_out_min"
-              c:identifier="g_i_marshalling_tests_int64_out_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int64"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int64" c:type="gint64*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int64_return_max"
-              c:identifier="g_i_marshalling_tests_int64_return_max">
-      <return-value transfer-ownership="none">
-        <type name="int64" c:type="gint64"/>
-      </return-value>
-    </function>
-    <function name="int64_return_min"
-              c:identifier="g_i_marshalling_tests_int64_return_min">
-      <return-value transfer-ownership="none">
-        <type name="int64" c:type="gint64"/>
-      </return-value>
-    </function>
-    <function name="int8_in_max"
-              c:identifier="g_i_marshalling_tests_int8_in_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int8" transfer-ownership="none">
-          <type name="int8" c:type="gint8"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int8_in_min"
-              c:identifier="g_i_marshalling_tests_int8_in_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int8" transfer-ownership="none">
-          <type name="int8" c:type="gint8"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int8_inout_max_min"
-              c:identifier="g_i_marshalling_tests_int8_inout_max_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int8"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int8" c:type="gint8*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int8_inout_min_max"
-              c:identifier="g_i_marshalling_tests_int8_inout_min_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int8"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int8" c:type="gint8*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int8_out_max"
-              c:identifier="g_i_marshalling_tests_int8_out_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int8"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int8" c:type="gint8*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int8_out_min"
-              c:identifier="g_i_marshalling_tests_int8_out_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int8"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int8" c:type="gint8*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int8_return_max"
-              c:identifier="g_i_marshalling_tests_int8_return_max">
-      <return-value transfer-ownership="none">
-        <type name="int8" c:type="gint8"/>
-      </return-value>
-    </function>
-    <function name="int8_return_min"
-              c:identifier="g_i_marshalling_tests_int8_return_min">
-      <return-value transfer-ownership="none">
-        <type name="int8" c:type="gint8"/>
-      </return-value>
-    </function>
-    <function name="int_in_max"
-              c:identifier="g_i_marshalling_tests_int_in_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int_" transfer-ownership="none">
-          <type name="int" c:type="gint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int_in_min"
-              c:identifier="g_i_marshalling_tests_int_in_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int_" transfer-ownership="none">
-          <type name="int" c:type="gint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int_inout_max_min"
-              c:identifier="g_i_marshalling_tests_int_inout_max_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int" c:type="gint*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int_inout_min_max"
-              c:identifier="g_i_marshalling_tests_int_inout_min_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int" c:type="gint*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int_out_in"
-              c:identifier="g_i_marshalling_tests_int_out_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int0"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int" c:type="gint*"/>
-        </parameter>
-        <parameter name="int1" transfer-ownership="none">
-          <type name="int" c:type="gint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int_out_max"
-              c:identifier="g_i_marshalling_tests_int_out_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int" c:type="gint*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int_out_min"
-              c:identifier="g_i_marshalling_tests_int_out_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int" c:type="gint*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int_out_out"
-              c:identifier="g_i_marshalling_tests_int_out_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="int0"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int" c:type="gint*"/>
-        </parameter>
-        <parameter name="int1"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int" c:type="gint*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="int_return_max"
-              c:identifier="g_i_marshalling_tests_int_return_max">
-      <return-value transfer-ownership="none">
-        <type name="int" c:type="gint"/>
-      </return-value>
-    </function>
-    <function name="int_return_min"
-              c:identifier="g_i_marshalling_tests_int_return_min">
-      <return-value transfer-ownership="none">
-        <type name="int" c:type="gint"/>
-      </return-value>
-    </function>
-    <function name="int_return_out"
-              c:identifier="g_i_marshalling_tests_int_return_out">
-      <return-value transfer-ownership="none">
-        <type name="int" c:type="gint"/>
-      </return-value>
-      <parameters>
-        <parameter name="int_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int" c:type="gint*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="long_in_max"
-              c:identifier="g_i_marshalling_tests_long_in_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="long_" transfer-ownership="none">
-          <type name="long" c:type="glong"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="long_in_min"
-              c:identifier="g_i_marshalling_tests_long_in_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="long_" transfer-ownership="none">
-          <type name="long" c:type="glong"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="long_inout_max_min"
-              c:identifier="g_i_marshalling_tests_long_inout_max_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="long_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="long" c:type="glong*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="long_inout_min_max"
-              c:identifier="g_i_marshalling_tests_long_inout_min_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="long_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="long" c:type="glong*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="long_out_max"
-              c:identifier="g_i_marshalling_tests_long_out_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="long_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="long" c:type="glong*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="long_out_min"
-              c:identifier="g_i_marshalling_tests_long_out_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="long_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="long" c:type="glong*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="long_return_max"
-              c:identifier="g_i_marshalling_tests_long_return_max">
-      <return-value transfer-ownership="none">
-        <type name="long" c:type="glong"/>
-      </return-value>
-    </function>
-    <function name="long_return_min"
-              c:identifier="g_i_marshalling_tests_long_return_min">
-      <return-value transfer-ownership="none">
-        <type name="long" c:type="glong"/>
-      </return-value>
-    </function>
-    <function name="object_full_in"
-              c:identifier="g_i_marshalling_tests__object_full_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="object" transfer-ownership="full">
-          <type name="Object" c:type="GIMarshallingTestsObject*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="object_full_inout"
-              c:identifier="g_i_marshalling_tests__object_full_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="object"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="Object" c:type="GIMarshallingTestsObject**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="object_full_out"
-              c:identifier="g_i_marshalling_tests__object_full_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="object"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="Object" c:type="GIMarshallingTestsObject**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="object_full_return"
-              c:identifier="g_i_marshalling_tests__object_full_return">
-      <return-value transfer-ownership="full">
-        <type name="Object" c:type="GIMarshallingTestsObject*"/>
-      </return-value>
-    </function>
-    <function name="object_inout_same"
-              c:identifier="g_i_marshalling_tests__object_inout_same">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="object"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="Object" c:type="GIMarshallingTestsObject**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="object_int8_in"
-              c:identifier="g_i_marshalling_tests__object_int8_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="object" transfer-ownership="none">
-          <type name="Object" c:type="GIMarshallingTestsObject*"/>
-        </parameter>
-        <parameter name="in" transfer-ownership="none">
-          <type name="int8" c:type="gint8"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="object_int8_out"
-              c:identifier="g_i_marshalling_tests__object_int8_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="object" transfer-ownership="none">
-          <type name="Object" c:type="GIMarshallingTestsObject*"/>
-        </parameter>
-        <parameter name="out"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="int8" c:type="gint8*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="object_none_in"
-              c:identifier="g_i_marshalling_tests__object_none_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="object" transfer-ownership="none">
-          <type name="Object" c:type="GIMarshallingTestsObject*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="object_none_inout"
-              c:identifier="g_i_marshalling_tests__object_none_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="object"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="Object" c:type="GIMarshallingTestsObject**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="object_none_out"
-              c:identifier="g_i_marshalling_tests__object_none_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="object"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="Object" c:type="GIMarshallingTestsObject**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="object_none_return"
-              c:identifier="g_i_marshalling_tests__object_none_return">
-      <return-value transfer-ownership="none">
-        <type name="Object" c:type="GIMarshallingTestsObject*"/>
-      </return-value>
-    </function>
-    <function name="overrides_object_return"
-              c:identifier="g_i_marshalling_tests__overrides_object_return">
-      <return-value transfer-ownership="full">
-        <type name="OverridesObject"
-              c:type="GIMarshallingTestsOverridesObject*"/>
-      </return-value>
-    </function>
-    <function name="overrides_struct_return"
-              c:identifier="g_i_marshalling_tests__overrides_struct_return">
-      <return-value transfer-ownership="full">
-        <type name="OverridesStruct"
-              c:type="GIMarshallingTestsOverridesStruct*"/>
-      </return-value>
-    </function>
-    <function name="pointer_in_return"
-              c:identifier="g_i_marshalling_tests_pointer_in_return">
-      <return-value transfer-ownership="none">
-        <type name="any" c:type="gpointer"/>
-      </return-value>
-      <parameters>
-        <parameter name="pointer" transfer-ownership="none">
-          <type name="any" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pointer_struct_in"
-              c:identifier="g_i_marshalling_tests__pointer_struct_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="struct_" transfer-ownership="none">
-          <type name="PointerStruct"
-                c:type="GIMarshallingTestsPointerStruct*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pointer_struct_inout"
-              c:identifier="g_i_marshalling_tests__pointer_struct_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="struct_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="PointerStruct"
-                c:type="GIMarshallingTestsPointerStruct**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pointer_struct_out"
-              c:identifier="g_i_marshalling_tests__pointer_struct_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="struct_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="PointerStruct"
-                c:type="GIMarshallingTestsPointerStruct**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="pointer_struct_return"
-              c:identifier="g_i_marshalling_tests__pointer_struct_return">
-      <return-value transfer-ownership="none">
-        <type name="PointerStruct" c:type="GIMarshallingTestsPointerStruct*"/>
-      </return-value>
-    </function>
-    <function name="short_in_max"
-              c:identifier="g_i_marshalling_tests_short_in_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="short_" transfer-ownership="none">
-          <type name="short" c:type="gshort"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="short_in_min"
-              c:identifier="g_i_marshalling_tests_short_in_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="short_" transfer-ownership="none">
-          <type name="short" c:type="gshort"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="short_inout_max_min"
-              c:identifier="g_i_marshalling_tests_short_inout_max_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="short_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="short" c:type="gshort*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="short_inout_min_max"
-              c:identifier="g_i_marshalling_tests_short_inout_min_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="short_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="short" c:type="gshort*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="short_out_max"
-              c:identifier="g_i_marshalling_tests_short_out_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="short_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="short" c:type="gshort*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="short_out_min"
-              c:identifier="g_i_marshalling_tests_short_out_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="short_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="short" c:type="gshort*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="short_return_max"
-              c:identifier="g_i_marshalling_tests_short_return_max">
-      <return-value transfer-ownership="none">
-        <type name="short" c:type="gshort"/>
-      </return-value>
-    </function>
-    <function name="short_return_min"
-              c:identifier="g_i_marshalling_tests_short_return_min">
-      <return-value transfer-ownership="none">
-        <type name="short" c:type="gshort"/>
-      </return-value>
-    </function>
-    <function name="simple_struct_in"
-              c:identifier="g_i_marshalling_tests__simple_struct_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="struct_" transfer-ownership="none">
-          <type name="SimpleStruct" c:type="GIMarshallingTestsSimpleStruct*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="simple_struct_inout"
-              c:identifier="g_i_marshalling_tests__simple_struct_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="struct_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="SimpleStruct" c:type="GIMarshallingTestsSimpleStruct**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="simple_struct_out"
-              c:identifier="g_i_marshalling_tests__simple_struct_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="struct_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="SimpleStruct" c:type="GIMarshallingTestsSimpleStruct**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="simple_struct_return"
-              c:identifier="g_i_marshalling_tests__simple_struct_return">
-      <return-value transfer-ownership="none">
-        <type name="SimpleStruct" c:type="GIMarshallingTestsSimpleStruct*"/>
-      </return-value>
-    </function>
-    <function name="size_in" c:identifier="g_i_marshalling_tests_size_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="size" transfer-ownership="none">
-          <type name="gsize" c:type="gsize"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="size_inout"
-              c:identifier="g_i_marshalling_tests_size_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="size"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="gsize" c:type="gsize*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="size_out" c:identifier="g_i_marshalling_tests_size_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="size"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="gsize" c:type="gsize*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="size_return"
-              c:identifier="g_i_marshalling_tests_size_return">
-      <return-value transfer-ownership="none">
-        <type name="gsize" c:type="gsize"/>
-      </return-value>
-    </function>
-    <function name="ssize_in_max"
-              c:identifier="g_i_marshalling_tests_ssize_in_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ssize" transfer-ownership="none">
-          <type name="gssize" c:type="gssize"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ssize_in_min"
-              c:identifier="g_i_marshalling_tests_ssize_in_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ssize" transfer-ownership="none">
-          <type name="gssize" c:type="gssize"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ssize_inout_max_min"
-              c:identifier="g_i_marshalling_tests_ssize_inout_max_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ssize"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="gssize" c:type="gssize*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ssize_inout_min_max"
-              c:identifier="g_i_marshalling_tests_ssize_inout_min_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ssize"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="gssize" c:type="gssize*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ssize_out_max"
-              c:identifier="g_i_marshalling_tests_ssize_out_max">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ssize"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="gssize" c:type="gssize*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ssize_out_min"
-              c:identifier="g_i_marshalling_tests_ssize_out_min">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ssize"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="gssize" c:type="gssize*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ssize_return_max"
-              c:identifier="g_i_marshalling_tests_ssize_return_max">
-      <return-value transfer-ownership="none">
-        <type name="gssize" c:type="gssize"/>
-      </return-value>
-    </function>
-    <function name="ssize_return_min"
-              c:identifier="g_i_marshalling_tests_ssize_return_min">
-      <return-value transfer-ownership="none">
-        <type name="gssize" c:type="gssize"/>
-      </return-value>
-    </function>
-    <function name="test_interface_test_int8_in"
-              c:identifier="g_i_marshalling_tests_test_interface_test_int8_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="test_iface" transfer-ownership="none">
-          <type name="Interface" c:type="GIMarshallingTestsInterface*"/>
-        </parameter>
-        <parameter name="in" transfer-ownership="none">
-          <type name="int8" c:type="gint8"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="time_t_in" c:identifier="g_i_marshalling_tests_time_t_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="time_t_" transfer-ownership="none">
-          <type name="long" c:type="time_t"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="time_t_inout"
-              c:identifier="g_i_marshalling_tests_time_t_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="time_t_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="long" c:type="time_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="time_t_out"
-              c:identifier="g_i_marshalling_tests_time_t_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="time_t_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="long" c:type="time_t*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="time_t_return"
-              c:identifier="g_i_marshalling_tests_time_t_return">
-      <return-value transfer-ownership="none">
-        <type name="long" c:type="time_t"/>
-      </return-value>
-    </function>
-    <function name="uint16_in" c:identifier="g_i_marshalling_tests_uint16_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uint16" transfer-ownership="none">
-          <type name="uint16" c:type="guint16"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="uint16_inout"
-              c:identifier="g_i_marshalling_tests_uint16_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uint16"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="uint16" c:type="guint16*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="uint16_out"
-              c:identifier="g_i_marshalling_tests_uint16_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uint16"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="uint16" c:type="guint16*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="uint16_return"
-              c:identifier="g_i_marshalling_tests_uint16_return">
-      <return-value transfer-ownership="none">
-        <type name="uint16" c:type="guint16"/>
-      </return-value>
-    </function>
-    <function name="uint32_in" c:identifier="g_i_marshalling_tests_uint32_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uint32" transfer-ownership="none">
-          <type name="uint32" c:type="guint32"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="uint32_inout"
-              c:identifier="g_i_marshalling_tests_uint32_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uint32"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="uint32" c:type="guint32*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="uint32_out"
-              c:identifier="g_i_marshalling_tests_uint32_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uint32"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="uint32" c:type="guint32*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="uint32_return"
-              c:identifier="g_i_marshalling_tests_uint32_return">
-      <return-value transfer-ownership="none">
-        <type name="uint32" c:type="guint32"/>
-      </return-value>
-    </function>
-    <function name="uint64_in" c:identifier="g_i_marshalling_tests_uint64_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uint64" transfer-ownership="none">
-          <type name="uint64" c:type="guint64"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="uint64_inout"
-              c:identifier="g_i_marshalling_tests_uint64_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uint64"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="uint64" c:type="guint64*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="uint64_out"
-              c:identifier="g_i_marshalling_tests_uint64_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uint64"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="uint64" c:type="guint64*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="uint64_return"
-              c:identifier="g_i_marshalling_tests_uint64_return">
-      <return-value transfer-ownership="none">
-        <type name="uint64" c:type="guint64"/>
-      </return-value>
-    </function>
-    <function name="uint8_in" c:identifier="g_i_marshalling_tests_uint8_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uint8" transfer-ownership="none">
-          <type name="uint8" c:type="guint8"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="uint8_inout"
-              c:identifier="g_i_marshalling_tests_uint8_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uint8"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="uint8" c:type="guint8*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="uint8_out" c:identifier="g_i_marshalling_tests_uint8_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uint8"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="uint8" c:type="guint8*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="uint8_return"
-              c:identifier="g_i_marshalling_tests_uint8_return">
-      <return-value transfer-ownership="none">
-        <type name="uint8" c:type="guint8"/>
-      </return-value>
-    </function>
-    <function name="uint_in" c:identifier="g_i_marshalling_tests_uint_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uint_" transfer-ownership="none">
-          <type name="uint" c:type="guint"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="uint_inout"
-              c:identifier="g_i_marshalling_tests_uint_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uint_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="uint" c:type="guint*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="uint_out" c:identifier="g_i_marshalling_tests_uint_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="uint_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="uint" c:type="guint*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="uint_return"
-              c:identifier="g_i_marshalling_tests_uint_return">
-      <return-value transfer-ownership="none">
-        <type name="uint" c:type="guint"/>
-      </return-value>
-    </function>
-    <function name="ulong_in" c:identifier="g_i_marshalling_tests_ulong_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ulong_" transfer-ownership="none">
-          <type name="ulong" c:type="gulong"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ulong_inout"
-              c:identifier="g_i_marshalling_tests_ulong_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ulong_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="ulong" c:type="gulong*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ulong_out" c:identifier="g_i_marshalling_tests_ulong_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ulong_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="ulong" c:type="gulong*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ulong_return"
-              c:identifier="g_i_marshalling_tests_ulong_return">
-      <return-value transfer-ownership="none">
-        <type name="ulong" c:type="gulong"/>
-      </return-value>
-    </function>
-    <function name="union_in" c:identifier="g_i_marshalling_tests__union_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="union_" transfer-ownership="none">
-          <type name="Union" c:type="GIMarshallingTestsUnion*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="union_inout"
-              c:identifier="g_i_marshalling_tests__union_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="union_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="Union" c:type="GIMarshallingTestsUnion**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="union_out" c:identifier="g_i_marshalling_tests__union_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="union_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="Union" c:type="GIMarshallingTestsUnion**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="union_return"
-              c:identifier="g_i_marshalling_tests__union_return">
-      <return-value transfer-ownership="none">
-        <type name="Union" c:type="GIMarshallingTestsUnion*"/>
-      </return-value>
-    </function>
-    <function name="ushort_in" c:identifier="g_i_marshalling_tests_ushort_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ushort_" transfer-ownership="none">
-          <type name="ushort" c:type="gushort"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ushort_inout"
-              c:identifier="g_i_marshalling_tests_ushort_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ushort_"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="ushort" c:type="gushort*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ushort_out"
-              c:identifier="g_i_marshalling_tests_ushort_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="ushort_"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="ushort" c:type="gushort*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="ushort_return"
-              c:identifier="g_i_marshalling_tests_ushort_return">
-      <return-value transfer-ownership="none">
-        <type name="ushort" c:type="gushort"/>
-      </return-value>
-    </function>
-    <function name="utf8_dangling_out"
-              c:identifier="g_i_marshalling_tests_utf8_dangling_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="utf8"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="utf8" c:type="gchar**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="utf8_full_in"
-              c:identifier="g_i_marshalling_tests_utf8_full_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="utf8" transfer-ownership="full">
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="utf8_full_inout"
-              c:identifier="g_i_marshalling_tests_utf8_full_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="utf8"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="utf8" c:type="gchar**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="utf8_full_out"
-              c:identifier="g_i_marshalling_tests_utf8_full_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="utf8"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="full">
-          <type name="utf8" c:type="gchar**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="utf8_full_out_out"
-              c:identifier="g_i_marshalling_tests_utf8_full_out_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="utf80" transfer-ownership="none">
-          <array c:type="gchar**">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-        <parameter name="utf82" transfer-ownership="none">
-          <array c:type="gchar**">
-            <type name="utf8"/>
-          </array>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="utf8_full_return"
-              c:identifier="g_i_marshalling_tests_utf8_full_return">
-      <return-value transfer-ownership="full">
-        <type name="utf8" c:type="gchar*"/>
-      </return-value>
-    </function>
-    <function name="utf8_none_in"
-              c:identifier="g_i_marshalling_tests_utf8_none_in">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="utf8" transfer-ownership="none">
-          <type name="utf8" c:type="gchar*"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="utf8_none_inout"
-              c:identifier="g_i_marshalling_tests_utf8_none_inout">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="utf8"
-                   direction="inout"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="utf8" c:type="gchar**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="utf8_none_out"
-              c:identifier="g_i_marshalling_tests_utf8_none_out">
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="utf8"
-                   direction="out"
-                   caller-allocates="0"
-                   transfer-ownership="none">
-          <type name="utf8" c:type="gchar**"/>
-        </parameter>
-      </parameters>
-    </function>
-    <function name="utf8_none_return"
-              c:identifier="g_i_marshalling_tests_utf8_none_return">
-      <return-value transfer-ownership="none">
-        <type name="utf8" c:type="gchar*"/>
-      </return-value>
-    </function>
-  </namespace>
-</repository>
diff --git a/basis/gobject-introspection/tests/g-i-marshalling-tests/ffi/ffi.factor b/basis/gobject-introspection/tests/g-i-marshalling-tests/ffi/ffi.factor
deleted file mode 100644 (file)
index 3bf08bd..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.c-types alien.libraries combinators kernel
-system
-gobject-introspection glib.ffi gobject.ffi ;
-IN: gobject-introspection.tests.g-i-marshalling-tests.ffi
-
-<<
-"gobject-introspection.tests.g-i-marshalling-tests" {
-    { [ os winnt? ] [ drop ] }
-    { [ os macosx? ] [ drop ] }
-    { [ os unix? ] [ "libgirepository-gimarshallingtests-1.0.so" cdecl add-library ] }
-} cond
->>
-
-IMPLEMENT-STRUCTS: GIMarshallingTestsSimpleStruct ;
-
-GIR: vocab:gobject-introspection/tests/g-i-marshalling-tests/GIMarshallingTests-1.0.gir
-
diff --git a/basis/gobject-introspection/tests/g-i-marshalling-tests/g-i-marshalling-tests.factor b/basis/gobject-introspection/tests/g-i-marshalling-tests/g-i-marshalling-tests.factor
deleted file mode 100644 (file)
index bde6d26..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: gobject-introspection.tests.g-i-marshalling-tests.ffi ;
-IN: gobject-introspection.tests.g-i-marshalling-tests
-
diff --git a/basis/gobject-introspection/tests/marshalling.factor b/basis/gobject-introspection/tests/marshalling.factor
deleted file mode 100644 (file)
index eecf21a..0000000
+++ /dev/null
@@ -1,295 +0,0 @@
-! Copyright (C) 2010 Anton Gorenko.
-! See http://factorcode.org/license.txt for BSD license.
-USING: accessors alien.c-types alien.data alien.strings
-alien.syntax arrays classes.struct destructors 
-gobject-introspection.tests.g-i-marshalling-tests.ffi
-glib.ffi gobject.ffi io.encodings.utf8 kernel literals
-sequences specialized-arrays tools.test ;
-IN: gobject-introspection.tests.marshalling
-
-SPECIALIZED-ARRAYS: gint gshort void*
-GIMarshallingTestsSimpleStruct ;
-
-CONSTANT: G_I_MARSHALLING_TESTS_CONSTANT_NUMBER 42
-
-CONSTANT: G_I_MARSHALLING_TESTS_CONSTANT_UTF8 "const ♥ utf8"
-
-! gboolean
-
-[ t ] [ g_i_marshalling_tests_boolean_return_true ] unit-test
-[ f ] [ g_i_marshalling_tests_boolean_return_false ] unit-test
-
-: boolean-out-true ( -- out )
-    { gboolean } [ g_i_marshalling_tests_boolean_out_true ]
-    with-out-parameters ;
-[ t ] [ boolean-out-true ] unit-test
-
-: boolean-out-false ( -- out )
-    { gboolean } [ g_i_marshalling_tests_boolean_out_false ]
-    with-out-parameters ;
-[ f ] [ boolean-out-false ] unit-test
-
-! gint8
-
-[ $ G_MAXINT8 ] [ g_i_marshalling_tests_int8_return_max ] unit-test
-[ $ G_MININT8 ] [ g_i_marshalling_tests_int8_return_min ] unit-test
-
-: int8-out-max ( -- out )
-    { gint8 } [ g_i_marshalling_tests_int8_out_max ]
-    with-out-parameters ;
-[ $ G_MAXINT8 ] [ int8-out-max ] unit-test
-
-: int8-out-min ( -- out )
-    { gint8 } [ g_i_marshalling_tests_int8_out_min ]
-    with-out-parameters ;
-[ $ G_MININT8 ] [ int8-out-min ] unit-test
-
-: int8-inout-max-min ( -- out )
-    { { gint8 initial: $ G_MAXINT8 } }
-    [ g_i_marshalling_tests_int8_inout_max_min ]
-    with-out-parameters ;
-[ $ G_MININT8 ] [ int8-inout-max-min ] unit-test
-
-! guint8
-
-[ $ G_MAXUINT8 ] [ g_i_marshalling_tests_uint8_return ] unit-test
-
-: uint8-out ( -- out )
-    { guint8 } [ g_i_marshalling_tests_uint8_out ]
-    with-out-parameters ;
-[ $ G_MAXUINT8 ] [ uint8-out ] unit-test
-
-: uint8-inout ( -- out )
-    { { guint8 initial: $ G_MAXUINT8 } }
-    [ g_i_marshalling_tests_uint8_inout ]
-    with-out-parameters ;
-[ 0 ] [ uint8-inout ] unit-test
-
-! gint16
-
-[ $ G_MAXINT16 ] [ g_i_marshalling_tests_int16_return_max ] unit-test
-[ $ G_MININT16 ] [ g_i_marshalling_tests_int16_return_min ] unit-test
-
-: int16-out-max ( -- out )
-    { gint16 } [ g_i_marshalling_tests_int16_out_max ]
-    with-out-parameters ;
-[ $ G_MAXINT16 ] [ int16-out-max ] unit-test
-
-: int16-out-min ( -- out )
-    { gint16 } [ g_i_marshalling_tests_int16_out_min ]
-    with-out-parameters ;
-[ $ G_MININT16 ] [ int16-out-min ] unit-test
-
-: int16-inout-max-min ( -- out )
-    { { gint16 initial: $ G_MAXINT16 } }
-    [ g_i_marshalling_tests_int16_inout_max_min ]
-    with-out-parameters ;
-[ $ G_MININT16 ] [ int16-inout-max-min ] unit-test
-
-! guint16
-
-[ $ G_MAXUINT16 ] [ g_i_marshalling_tests_uint16_return ] unit-test
-
-: uint16-out ( -- out )
-    { guint16 } [ g_i_marshalling_tests_uint16_out ]
-    with-out-parameters ;
-[ $ G_MAXUINT16 ] [ uint16-out ] unit-test
-
-: uint16-inout ( -- out )
-    { { guint16 initial: $ G_MAXUINT16 } }
-    [ g_i_marshalling_tests_uint16_inout ]
-    with-out-parameters ;
-[ 0 ] [ uint16-inout ] unit-test
-
-! gint32
-
-[ $ G_MAXINT32 ] [ g_i_marshalling_tests_int32_return_max ] unit-test
-[ $ G_MININT32 ] [ g_i_marshalling_tests_int32_return_min ] unit-test
-
-: int32-out-max ( -- out )
-    { gint32 } [ g_i_marshalling_tests_int32_out_max ]
-    with-out-parameters ;
-[ $ G_MAXINT32 ] [ int32-out-max ] unit-test
-
-: int32-out-min ( -- out )
-    { gint32 } [ g_i_marshalling_tests_int32_out_min ]
-    with-out-parameters ;
-[ $ G_MININT32 ] [ int32-out-min ] unit-test
-
-: int32-inout-max-min ( -- out )
-    { { gint32 initial: $ G_MAXINT32 } }
-    [ g_i_marshalling_tests_int32_inout_max_min ]
-    with-out-parameters ;
-[ $ G_MININT32 ] [ int32-inout-max-min ] unit-test
-
-! guint32
-
-[ $ G_MAXUINT32 ] [ g_i_marshalling_tests_uint32_return ] unit-test
-
-: uint32-out ( -- out )
-    { guint32 } [ g_i_marshalling_tests_uint32_out ]
-    with-out-parameters ;
-[ $ G_MAXUINT32 ] [ uint32-out ] unit-test
-
-: uint32-inout ( -- out )
-    { { guint32 initial: $ G_MAXUINT32 } }
-    [ g_i_marshalling_tests_uint32_inout ]
-    with-out-parameters ;
-[ 0 ] [ uint32-inout ] unit-test
-
-! gint64
-
-[ $ G_MAXINT64 ] [ g_i_marshalling_tests_int64_return_max ] unit-test
-[ $ G_MININT64 ] [ g_i_marshalling_tests_int64_return_min ] unit-test
-
-: int64-out-max ( -- out )
-    { gint64 } [ g_i_marshalling_tests_int64_out_max ]
-    with-out-parameters ;
-[ $ G_MAXINT64 ] [ int64-out-max ] unit-test
-
-: int64-out-min ( -- out )
-    { gint64 } [ g_i_marshalling_tests_int64_out_min ]
-    with-out-parameters ;
-[ $ G_MININT64 ] [ int64-out-min ] unit-test
-
-: int64-inout-max-min ( -- out )
-    { { gint64 initial: $ G_MAXINT64 } }
-    [ g_i_marshalling_tests_int64_inout_max_min ]
-    with-out-parameters ;
-[ $ G_MININT64 ] [ int64-inout-max-min ] unit-test
-
-! guint64
-
-[ $ G_MAXUINT64 ] [ g_i_marshalling_tests_uint64_return ] unit-test
-
-: uint64-out ( -- out )
-    { guint64 } [ g_i_marshalling_tests_uint64_out ]
-    with-out-parameters ;
-[ $ G_MAXUINT64 ] [ uint64-out ] unit-test
-
-: uint64-inout ( -- out )
-    { { guint64 initial: $ G_MAXUINT64 } }
-    [ g_i_marshalling_tests_uint64_inout ]
-    with-out-parameters ;
-[ 0 ] [ uint64-inout ] unit-test
-
-! gssize
-! gsize
-! gfloat
-! gdouble
-! time_t
-
-! gtype
-
-[ $ G_TYPE_NONE ]
-[ g_i_marshalling_tests_gtype_return ] unit-test
-
-: gtype-out ( -- out )
-    { GType } [ g_i_marshalling_tests_gtype_out ]
-    with-out-parameters ;
-[ $ G_TYPE_NONE ] [ gtype-out ] unit-test
-
-: gtype-inout ( -- out )
-    { { GType initial: $ G_TYPE_NONE } }
-    [ g_i_marshalling_tests_gtype_inout ]
-    with-out-parameters ;
-[ $ G_TYPE_INT ] [ gtype-inout ] unit-test
-
-! strings
-
-[ $ G_I_MARSHALLING_TESTS_CONSTANT_UTF8 ]
-[ g_i_marshalling_tests_utf8_none_return utf8 alien>string ] unit-test
-
-[ $ G_I_MARSHALLING_TESTS_CONSTANT_UTF8 ] [
-    [
-        g_i_marshalling_tests_utf8_full_return &g_free
-        utf8 alien>string
-    ] with-destructors
-] unit-test
-
-: utf8-none-out ( -- out )
-    { pointer: gchar }
-    [ g_i_marshalling_tests_utf8_none_out ]
-    with-out-parameters ;
-[ $ G_I_MARSHALLING_TESTS_CONSTANT_UTF8 ]
-[ utf8-none-out utf8 alien>string ] unit-test
-
-: utf8-full-out ( -- out )
-    { pointer: gchar }
-    [ g_i_marshalling_tests_utf8_full_out ]
-    with-out-parameters ;
-[ $ G_I_MARSHALLING_TESTS_CONSTANT_UTF8 ] [
-    [ utf8-full-out &g_free utf8 alien>string ] with-destructors
-] unit-test
-
-: utf8-dangling-out ( -- out )
-    { { pointer: gchar initial: f } }
-    [ g_i_marshalling_tests_utf8_dangling_out ]
-    with-out-parameters ;
-[ f ]
-[ utf8-dangling-out ] unit-test
-
-! arrays
-
-[ int-array{ -1 0 1 2 } ]
-[
-    g_i_marshalling_tests_array_fixed_int_return
-    4 <direct-int-array> >int-array
-] unit-test
-
-[ short-array{ -1 0 1 2 } ]
-[
-    g_i_marshalling_tests_array_fixed_short_return
-    4 <direct-short-array> >short-array
-] unit-test
-
-: array-fixed-out ( -- out )
-    { pointer: gint }
-    [ g_i_marshalling_tests_array_fixed_out ]
-    with-out-parameters ;
-[ int-array{ -1 0 1 2 } ]
-[
-    array-fixed-out
-    4 <direct-int-array> >int-array
-] unit-test
-
-: array-fixed-out-struct ( -- out )
-    { pointer: gint }
-    [ g_i_marshalling_tests_array_fixed_out_struct ]
-    with-out-parameters ;
-[ { { 7 6 } { 6 7 } } ]
-[
-    array-fixed-out-struct
-    2 <direct-GIMarshallingTestsSimpleStruct-array>
-    [ [ long_>> ] [ int8>> ] bi 2array ] { } map-as
-] unit-test
-
-: array-return ( -- array length )
-    { gint }
-    [ g_i_marshalling_tests_array_return ]
-    with-out-parameters ;
-[ int-array{ -1 0 1 2 } ]
-[ array-return <direct-int-array> >int-array ] unit-test
-
-: array-out ( -- array length )
-    { pointer: gint gint }
-    [ g_i_marshalling_tests_array_out ]
-    with-out-parameters ;
-[ int-array{ -1 0 1 2 } ]
-[ array-out <direct-int-array> >int-array ] unit-test
-
-[ { "0" "1" "2" f } ]
-[
-    g_i_marshalling_tests_array_zero_terminated_return
-    4 <direct-void*-array> [ utf8 alien>string ] { } map-as
-] unit-test
-
-: array-zero-terminated-out ( -- out )
-    { pointer: pointer: gchar }
-    [ g_i_marshalling_tests_array_zero_terminated_out ]
-    with-out-parameters ;
-[ { "0" "1" "2" f } ]
-[
-    array-zero-terminated-out
-    4 <direct-void*-array> [ utf8 alien>string ] { } map-as
-] unit-test