[vala/0.40] tests: Add "girwriter" tests to increase coverage
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/0.40] tests: Add "girwriter" tests to increase coverage
- Date: Thu, 30 Jul 2020 11:02:59 +0000 (UTC)
commit a650efc8a963eedf61504a53bebe7f6179921b2f
Author: Rico Tzschichholz <ricotz ubuntu com>
Date: Wed Jul 29 15:14:07 2020 +0200
tests: Add "girwriter" tests to increase coverage
Backported from 0.46 branch
Fixes https://gitlab.gnome.org/GNOME/vala/issues/158
configure.ac | 4 +
tests/Makefile.am | 4 +
tests/girwriter/GirTest-1.0.gir-expected | 1841 ++++++++++++++++++++++++++++++
tests/girwriter/Makefile.am | 33 +
tests/girwriter/girtest.vala | 349 ++++++
tests/girwriter/girtest.vapi-expected | 221 ++++
6 files changed, 2452 insertions(+)
---
diff --git a/configure.ac b/configure.ac
index adb51dfbd..72b62515b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -142,6 +142,9 @@ LIBADD="$cgraph_tmp_LIBADD"
CFLAGS="$cgraph_tmp_CFLAGS"
AM_CONDITIONAL(HAVE_CGRAPH, test "$have_cgraph" = "yes")
+AC_PATH_PROG([G_IR_COMPILER], [g-ir-compiler], :)
+AM_CONDITIONAL(HAVE_G_IR_COMPILER, test "$G_IR_COMPILER" != :)
+
AC_PATH_PROG([XSLTPROC], [xsltproc], :)
AM_CONDITIONAL(HAVE_XSLTPROC, test "$XSLTPROC" != :)
@@ -162,6 +165,7 @@ AC_CONFIG_FILES([Makefile
compiler/Makefile
vapi/Makefile
tests/Makefile
+ tests/girwriter/Makefile
doc/Makefile
doc/manual/Makefile
doc/manual/version.xml
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 42e7c95fc..9be7483fc 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,5 +1,9 @@
NULL =
+SUBDIRS = \
+ girwriter \
+ $(NULL)
+
AM_CPPFLAGS = \
$(GLIB_CFLAGS) \
$(NULL)
diff --git a/tests/girwriter/GirTest-1.0.gir-expected b/tests/girwriter/GirTest-1.0.gir-expected
new file mode 100644
index 000000000..f26ab9605
--- /dev/null
+++ b/tests/girwriter/GirTest-1.0.gir-expected
@@ -0,0 +1,1841 @@
+<repository version="1.2" 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="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="girtest"/>
+<c:include name="girtest.h"/>
+<namespace name="GirTest" version="1.0" shared-library="girtest" c:prefix="GirTest"
c:identifier-prefixes="GirTest" c:symbol-prefix="gir_test">
+ <enumeration name="EnumTest" c:type="GirTestEnumTest" glib:type-name="GirTestEnumTest"
glib:get-type="gir_test_enum_test_get_type">
+ <member name="value1" c:identifier="GIR_TEST_ENUM_TEST_VALUE1" value="0"/>
+ <member name="value2" c:identifier="GIR_TEST_ENUM_TEST_VALUE2" value="1"/>
+ <member name="value3" c:identifier="GIR_TEST_ENUM_TEST_VALUE3" value="4711"/>
+ </enumeration>
+ <bitfield name="FlagsTest" c:type="GirTestFlagsTest" glib:type-name="GirTestFlagsTest"
glib:get-type="gir_test_flags_test_get_type">
+ <member name="value1" c:identifier="GIR_TEST_FLAGS_TEST_VALUE1" value="1"/>
+ <member name="value2" c:identifier="GIR_TEST_FLAGS_TEST_VALUE2" value="2"/>
+ <member name="value3" c:identifier="GIR_TEST_FLAGS_TEST_VALUE3" value="4"/>
+ </bitfield>
+ <enumeration name="PlainEnumTest" c:type="GirTestPlainEnumTest">
+ <member name="value1" c:identifier="GIR_TEST_PLAIN_ENUM_TEST_VALUE1" value="0"/>
+ <member name="value2" c:identifier="GIR_TEST_PLAIN_ENUM_TEST_VALUE2" value="1"/>
+ <member name="value3" c:identifier="GIR_TEST_PLAIN_ENUM_TEST_VALUE3" value="4711"/>
+ </enumeration>
+ <enumeration name="SkippedEnum" c:type="GirTestSkippedEnum" glib:type-name="GirTestSkippedEnum"
glib:get-type="gir_test_skipped_enum_get_type" introspectable="0">
+ <member name="value1" c:identifier="GIR_TEST_SKIPPED_ENUM_VALUE1" value="0"/>
+ </enumeration>
+ <enumeration name="SkippedFlags" c:type="GirTestSkippedFlags" glib:type-name="GirTestSkippedFlags"
glib:get-type="gir_test_skipped_flags_get_type" introspectable="0">
+ <member name="value1" c:identifier="GIR_TEST_SKIPPED_FLAGS_VALUE1" value="0"/>
+ </enumeration>
+ <enumeration name="ErrorTest" c:type="GirTestErrorTest" glib:error-domain="gir_test_error_test-quark">
+ <member name="failed" c:identifier="GIR_TEST_ERROR_TEST_FAILED" value="0"/>
+ <member name="smelly" c:identifier="GIR_TEST_ERROR_TEST_SMELLY" value="1"/>
+ <member name="fishy" c:identifier="GIR_TEST_ERROR_TEST_FISHY" value="23"/>
+ </enumeration>
+ <class name="TypeTest" c:type="GirTestTypeTest" c:symbol-prefix="typetest"
glib:type-name="GirTestTypeTest" glib:get-type="gir_test_typetest_get_type" glib:type-struct="TypeTestClass"
glib:fundamental="1" glib:ref-func="gir_test_typetest_ref" glib:unref-func="gir_test_typetest_unref"
glib:set-value-func="gir_test_value_set_typetest" glib:get-value-func="gir_test_value_get_typetest">
+ <field name="parent_instance" readable="0" private="1">
+ <type name="GObject.TypeInstance" c:type="GTypeInstance"/>
+ </field>
+ <field name="ref_count">
+ <type name="gint" c:type="volatile int"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TypeTestPrivate" c:type="GirTestTypeTestPrivate*"/>
+ </field>
+ <constructor name="new" c:identifier="gir_test_typetest_new">
+ <return-value transfer-ownership="full">
+ <type name="GirTest.TypeTest" c:type="GirTestTypeTest*"/>
+ </return-value>
+ </constructor>
+ <method name="get_some_property" c:identifier="gir_test_typetest_get_some_property">
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ </method>
+ <method name="set_some_property" c:identifier="gir_test_typetest_set_some_property">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </class>
+ <record name="TypeTestClass" c:type="GirTestTypeTestClass" glib:is-gtype-struct-for="TypeTest">
+ <field name="parent_class" readable="0" private="1">
+ <type name="GObject.TypeClass" c:type="GTypeClass"/>
+ </field>
+ </record>
+ <record name="TypeTestPrivate" c:type="GirTestTypeTestPrivate" disguised="1"/>
+ <class name="SubTypeTest" c:type="GirTestSubTypeTest" c:symbol-prefix="sub_type_test"
glib:type-name="GirTestSubTypeTest" glib:get-type="gir_test_sub_type_test_get_type"
glib:type-struct="SubTypeTestClass" parent="GirTest.TypeTest">
+ <field name="parent_instance" readable="0" private="1">
+ <type name="GirTest.TypeTest" c:type="GirTestTypeTest"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="SubTypeTestPrivate" c:type="GirTestSubTypeTestPrivate*"/>
+ </field>
+ <field name="array_field">
+ <array c:type="gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </field>
+ <field name="array_field_length1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="delegate_field">
+ <type name="GirTest.DelegateTest" c:type="GirTestDelegateTest"/>
+ </field>
+ <field name="delegate_field_target">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="delegate_field_target_destroy_notify">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <constructor name="new" c:identifier="gir_test_sub_type_test_new">
+ <return-value transfer-ownership="full">
+ <type name="GirTest.SubTypeTest" c:type="GirTestSubTypeTest*"/>
+ </return-value>
+ </constructor>
+ </class>
+ <record name="SubTypeTestClass" c:type="GirTestSubTypeTestClass"
glib:is-gtype-struct-for="SubTypeTest">
+ <field name="parent_class" readable="0" private="1">
+ <type name="GirTest.TypeTestClass" c:type="GirTestTypeTestClass"/>
+ </field>
+ </record>
+ <record name="SubTypeTestPrivate" c:type="GirTestSubTypeTestPrivate" disguised="1"/>
+ <class name="ObjectTest" c:type="GirTestObjectTest" c:symbol-prefix="object_test"
glib:type-name="GirTestObjectTest" glib:get-type="gir_test_object_test_get_type"
glib:type-struct="ObjectTestClass" parent="GObject.Object">
+ <field name="parent_instance" readable="0" private="1">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="ObjectTestPrivate" c:type="GirTestObjectTestPrivate*"/>
+ </field>
+ <field name="field">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="fixed_array_field">
+ <array fixed-size="23" c:type="gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </field>
+ <field name="nullable_field" allow-none="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <constructor name="new" c:identifier="gir_test_object_test_new">
+ <return-value transfer-ownership="full">
+ <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+ </return-value>
+ </constructor>
+ <constructor name="with_int" c:identifier="gir_test_object_test_new_with_int">
+ <return-value transfer-ownership="full">
+ <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="may_fail" c:identifier="gir_test_object_test_new_may_fail" throws="1">
+ <return-value transfer-ownership="full">
+ <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="newv" c:identifier="gir_test_object_test_new_newv" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <varargs/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_valist" c:identifier="gir_test_object_test_new_new_valist"
introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="vargs" transfer-ownership="none">
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="full_inout" c:identifier="gir_test_object_test_full_inout">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" direction="inout" transfer-ownership="full">
+ <type name="GirTest.ObjectTest" c:type="GirTestObjectTest**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="full_out" c:identifier="gir_test_object_test_full_out">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" direction="out" transfer-ownership="full">
+ <type name="GirTest.ObjectTest" c:type="GirTestObjectTest**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="full_return" c:identifier="gir_test_object_test_full_return">
+ <return-value transfer-ownership="full">
+ <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+ </return-value>
+ </function>
+ <function name="none_inout" c:identifier="gir_test_object_test_none_inout">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" direction="inout" transfer-ownership="none">
+ <type name="GirTest.ObjectTest" c:type="GirTestObjectTest**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="none_out" c:identifier="gir_test_object_test_none_out">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" direction="out" transfer-ownership="none">
+ <type name="GirTest.ObjectTest" c:type="GirTestObjectTest**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="none_return" c:identifier="gir_test_object_test_none_return">
+ <return-value transfer-ownership="none">
+ <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+ </return-value>
+ </function>
+ <function name="static_method" c:identifier="gir_test_object_test_static_method">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <method name="method_with_default_impl"
c:identifier="gir_test_object_test_method_with_default_impl">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint8" c:type="gint8"/>
+ </parameter>
+ </parameters>
+ </method>
+ <virtual-method name="method_with_default_impl" invoker="method_with_default_impl">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint8" c:type="gint8"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="int8_in" c:identifier="gir_test_object_test_int8_in">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint8" c:type="gint8"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="int8_out" c:identifier="gir_test_object_test_int8_out">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" direction="out" transfer-ownership="full">
+ <type name="gint8" c:type="gint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="method" c:identifier="gir_test_object_test_method">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="method_varargs" c:identifier="gir_test_object_test_method_varargs"
introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="method_valist" c:identifier="gir_test_object_test_method_valist"
introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="vargs" transfer-ownership="none">
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="array_in" c:identifier="gir_test_object_test_array_in">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="array" transfer-ownership="none">
+ <array length="1" c:type="gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ <parameter name="array_length1" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="array_inout" c:identifier="gir_test_object_test_array_inout">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="array" direction="inout" transfer-ownership="full">
+ <array length="1" c:type="gint**">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ <parameter name="array_length1" direction="inout" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="array_out" c:identifier="gir_test_object_test_array_out">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="array" direction="out" transfer-ownership="full">
+ <array length="1" c:type="gint**">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ <parameter name="array_length1" direction="out" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="array_return" c:identifier="gir_test_object_test_array_return">
+ <return-value transfer-ownership="full">
+ <array length="0" c:type="gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="result_length1" direction="out" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="int_in_int_in_array_out"
c:identifier="gir_test_object_test_int_in_int_in_array_out">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param1" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="param2" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="array" direction="out" transfer-ownership="full">
+ <array length="3" c:type="gint**">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ <parameter name="array_length1" direction="out" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="int_in_int_in_array_return"
c:identifier="gir_test_object_test_int_in_int_in_array_return">
+ <return-value transfer-ownership="full">
+ <array length="2" c:type="gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="param1" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="param2" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="result_length1" direction="out" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="string_array_out" c:identifier="gir_test_object_test_string_array_out">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="array" direction="out" transfer-ownership="full">
+ <array length="1" c:type="gchar***">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ <parameter name="array_length1" direction="out" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="string_array_return" c:identifier="gir_test_object_test_string_array_return">
+ <return-value transfer-ownership="full">
+ <array length="0" c:type="gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="result_length1" direction="out" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="none_in" c:identifier="gir_test_object_test_none_in">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="delegate_return" c:identifier="gir_test_object_test_delegate_return">
+ <return-value transfer-ownership="none" closure="0" scope="notified" destroy="1">
+ <type name="GirTest.DelegateTest" c:type="GirTestDelegateTest"/>
+ </return-value>
+ <parameters>
+ <parameter name="result_target" direction="out" transfer-ownership="none"
allow-none="1">
+ <type name="gpointer" c:type="void**"/>
+ </parameter>
+ <parameter name="result_target_destroy_notify" direction="out"
transfer-ownership="none" scope="call">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="delegate_return_int_in_array_out"
c:identifier="gir_test_object_test_delegate_return_int_in_array_out">
+ <return-value transfer-ownership="none" closure="3" scope="notified" destroy="4">
+ <type name="GirTest.DelegateTest" c:type="GirTestDelegateTest"/>
+ </return-value>
+ <parameters>
+ <parameter name="i1" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="a" direction="out" transfer-ownership="full">
+ <array length="2" c:type="gint**">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ <parameter name="a_length1" direction="out" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="result_target" direction="out" transfer-ownership="none"
allow-none="1">
+ <type name="gpointer" c:type="void**"/>
+ </parameter>
+ <parameter name="result_target_destroy_notify" direction="out"
transfer-ownership="none" scope="call">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="array_return_int_in_delegate_out"
c:identifier="gir_test_object_test_array_return_int_in_delegate_out">
+ <return-value transfer-ownership="full">
+ <array length="4" c:type="gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="i1" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="d" direction="out" transfer-ownership="none" closure="2"
scope="notified" destroy="3">
+ <type name="GirTest.DelegateTest" c:type="GirTestDelegateTest*"/>
+ </parameter>
+ <parameter name="d_target" direction="out" transfer-ownership="none"
allow-none="1">
+ <type name="gpointer" c:type="void**"/>
+ </parameter>
+ <parameter name="d_target_destroy_notify" direction="out"
transfer-ownership="none" scope="call">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify*"/>
+ </parameter>
+ <parameter name="result_length1" direction="out" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="simple_delegate_return"
c:identifier="gir_test_object_test_simple_delegate_return">
+ <return-value transfer-ownership="none" scope="call">
+ <type name="GLib.EqualFunc" c:type="GEqualFunc"/>
+ </return-value>
+ <parameters>
+ </parameters>
+ </method>
+ <method name="container_return" c:identifier="gir_test_object_test_container_return">
+ <return-value transfer-ownership="container">
+ <array length="0" c:type="const gchar**">
+ <type name="utf8" c:type="const gchar*"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="result_length1" direction="out" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="generic_array_container_return"
c:identifier="gir_test_object_test_generic_array_container_return">
+ <return-value transfer-ownership="container" allow-none="1">
+ <array name="GLib.PtrArray" c:type="GPtrArray*">
+ <type name="utf8" c:type="const gchar*"/>
+ </array>
+ </return-value>
+ </method>
+ <method name="coroutine_async" c:identifier="gir_test_object_test_coroutine_async">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1"
closure="1" scope="async">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="coroutine_finish" c:identifier="gir_test_object_test_coroutine_finish">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="coroutine_virtual_async"
c:identifier="gir_test_object_test_coroutine_virtual_async">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1"
closure="1" scope="async">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="coroutine_virtual_finish"
c:identifier="gir_test_object_test_coroutine_virtual_finish">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <virtual-method name="coroutine_virtual_async" invoker="coroutine_virtual_async">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1"
closure="1" scope="async">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="coroutine_virtual_finish" invoker="coroutine_virtual_finish">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="coroutine_method_throw"
c:identifier="gir_test_object_test_coroutine_method_throw">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="i1" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1"
closure="2" scope="async">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="coroutine_method_throw_finish"
c:identifier="gir_test_object_test_coroutine_method_throw_finish" throws="1">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ <parameter name="o1" direction="out" transfer-ownership="full">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <virtual-method name="coroutine_method_throw" invoker="coroutine_method_throw">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="i1" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1"
closure="2" scope="async">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="coroutine_method_throw_finish" invoker="coroutine_method_throw_finish"
throws="1">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ <parameter name="o1" direction="out" transfer-ownership="full">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="simple_throw" c:identifier="gir_test_object_test_simple_throw" throws="1">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <method name="method_throw" c:identifier="gir_test_object_test_method_throw" throws="1">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <virtual-method name="method_throw" invoker="method_throw" throws="1">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <method name="method_with_default" c:identifier="gir_test_object_test_method_with_default">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="i" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="skipped_method" c:identifier="gir_test_object_test_skipped_method"
introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <property name="some-property" writable="1" construct="1">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <method name="get_some_property" c:identifier="gir_test_object_test_get_some_property">
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ </method>
+ <method name="set_some_property" c:identifier="gir_test_object_test_set_some_property">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="write-only-property" readable="0" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <method name="set_write_only_property"
c:identifier="gir_test_object_test_set_write_only_property">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="construct-only-property" readable="0" writable="1" construct-only="1">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="skipped-property" writable="1" construct="1" introspectable="0">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <method name="get_skipped_property" c:identifier="gir_test_object_test_get_skipped_property">
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ </method>
+ <method name="set_skipped_property" c:identifier="gir_test_object_test_set_skipped_property">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <glib:signal name="some-signal">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="skipped-signal" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="signal-with-default-handlder">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="i1" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="ObjectTestClass" c:type="GirTestObjectTestClass" glib:is-gtype-struct-for="ObjectTest">
+ <field name="parent_class" readable="0" private="1">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="method_with_default_impl">
+ <callback name="method_with_default_impl" c:type="method_with_default_impl">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+ </parameter>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint8" c:type="gint8"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="coroutine_virtual_async">
+ <callback name="coroutine_virtual_async" c:type="coroutine_virtual_async">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+ </parameter>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1"
closure="2" scope="async">
+ <type name="Gio.AsyncReadyCallback"
c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none"
allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="coroutine_virtual_finish">
+ <callback name="coroutine_virtual_finish" c:type="coroutine_virtual_finish">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+ </parameter>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="coroutine_method_throw">
+ <callback name="coroutine_method_throw" c:type="coroutine_method_throw">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+ </parameter>
+ <parameter name="i1" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1"
closure="3" scope="async">
+ <type name="Gio.AsyncReadyCallback"
c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none"
allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="coroutine_method_throw_finish">
+ <callback name="coroutine_method_throw_finish" c:type="coroutine_method_throw_finish"
throws="1">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+ </parameter>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ <parameter name="o1" direction="out" transfer-ownership="full">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="method_throw">
+ <callback name="method_throw" c:type="method_throw" throws="1">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="signal_with_default_handlder">
+ <callback name="signal_with_default_handlder" c:type="signal_with_default_handlder">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="i1" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ </record>
+ <record name="ObjectTestPrivate" c:type="GirTestObjectTestPrivate" disguised="1"/>
+ <class name="AbstractObjectTest" c:type="GirTestAbstractObjectTest"
c:symbol-prefix="abstract_object_test" glib:type-name="GirTestAbstractObjectTest"
glib:get-type="gir_test_abstract_object_test_get_type" glib:type-struct="AbstractObjectTestClass"
parent="GObject.Object" abstract="1">
+ <field name="parent_instance" readable="0" private="1">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AbstractObjectTestPrivate" c:type="GirTestAbstractObjectTestPrivate*"/>
+ </field>
+ <method name="method_int8_in" c:identifier="gir_test_abstract_object_test_method_int8_in">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint8" c:type="gint8"/>
+ </parameter>
+ </parameters>
+ </method>
+ <virtual-method name="method_int8_in" invoker="method_int8_in">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint8" c:type="gint8"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="method_int8_inout"
c:identifier="gir_test_abstract_object_test_method_int8_inout">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" direction="inout" transfer-ownership="full">
+ <type name="gint8" c:type="gint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <virtual-method name="method_int8_inout" invoker="method_int8_inout">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" direction="inout" transfer-ownership="full">
+ <type name="gint8" c:type="gint8*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="method_int8_out" c:identifier="gir_test_abstract_object_test_method_int8_out">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" direction="out" transfer-ownership="full">
+ <type name="gint8" c:type="gint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <virtual-method name="method_int8_out" invoker="method_int8_out">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" direction="out" transfer-ownership="full">
+ <type name="gint8" c:type="gint8*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="method_throw" c:identifier="gir_test_abstract_object_test_method_throw"
throws="1">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ <virtual-method name="method_throw" invoker="method_throw" throws="1">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </virtual-method>
+ <method name="method_valist" c:identifier="gir_test_abstract_object_test_method_valist"
introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="vargs" transfer-ownership="none">
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <virtual-method name="method_valist" invoker="method_valist" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="vargs" transfer-ownership="none">
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="skipped_coroutine_method"
c:identifier="gir_test_abstract_object_test_skipped_coroutine_method" introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1"
closure="2" scope="async">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="skipped_coroutine_method_finish"
c:identifier="gir_test_abstract_object_test_skipped_coroutine_method_finish" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <virtual-method name="skipped_coroutine_method" invoker="skipped_coroutine_method"
introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1"
closure="2" scope="async">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="skipped_coroutine_method_finish"
invoker="skipped_coroutine_method_finish" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ </class>
+ <record name="AbstractObjectTestClass" c:type="GirTestAbstractObjectTestClass"
glib:is-gtype-struct-for="AbstractObjectTest">
+ <field name="parent_class" readable="0" private="1">
+ <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="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.AbstractObjectTest"
c:type="GirTestAbstractObjectTest*"/>
+ </parameter>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint8" c:type="gint8"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="method_int8_inout">
+ <callback name="method_int8_inout" c:type="method_int8_inout">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.AbstractObjectTest"
c:type="GirTestAbstractObjectTest*"/>
+ </parameter>
+ <parameter name="param" direction="inout" transfer-ownership="full">
+ <type name="gint8" 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="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.AbstractObjectTest"
c:type="GirTestAbstractObjectTest*"/>
+ </parameter>
+ <parameter name="param" direction="out" transfer-ownership="full">
+ <type name="gint8" c:type="gint8*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="method_throw">
+ <callback name="method_throw" c:type="method_throw" throws="1">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.AbstractObjectTest"
c:type="GirTestAbstractObjectTest*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="method_valist" introspectable="0">
+ <callback name="method_valist" c:type="method_valist">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.AbstractObjectTest"
c:type="GirTestAbstractObjectTest*"/>
+ </parameter>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="vargs" transfer-ownership="none">
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="skipped_coroutine_method" introspectable="0">
+ <callback name="skipped_coroutine_method" c:type="skipped_coroutine_method">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.AbstractObjectTest"
c:type="GirTestAbstractObjectTest*"/>
+ </parameter>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1"
closure="3" scope="async">
+ <type name="Gio.AsyncReadyCallback"
c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none"
allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="skipped_coroutine_method_finish" introspectable="0">
+ <callback name="skipped_coroutine_method_finish"
c:type="skipped_coroutine_method_finish">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.AbstractObjectTest"
c:type="GirTestAbstractObjectTest*"/>
+ </parameter>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ </record>
+ <record name="AbstractObjectTestPrivate" c:type="GirTestAbstractObjectTestPrivate" disguised="1"/>
+ <class name="ImplementionTest" c:type="GirTestImplementionTest" c:symbol-prefix="implemention_test"
glib:type-name="GirTestImplementionTest" glib:get-type="gir_test_implemention_test_get_type"
glib:type-struct="ImplementionTestClass" parent="GObject.Object">
+ <implements name="GirTest.InterfaceTest"/>
+ <field name="parent_instance" readable="0" private="1">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="ImplementionTestPrivate" c:type="GirTestImplementionTestPrivate*"/>
+ </field>
+ <constructor name="new" c:identifier="gir_test_implemention_test_new">
+ <return-value transfer-ownership="full">
+ <type name="GirTest.ImplementionTest" c:type="GirTestImplementionTest*"/>
+ </return-value>
+ </constructor>
+ </class>
+ <record name="ImplementionTestClass" c:type="GirTestImplementionTestClass"
glib:is-gtype-struct-for="ImplementionTest">
+ <field name="parent_class" readable="0" private="1">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ </record>
+ <record name="ImplementionTestPrivate" c:type="GirTestImplementionTestPrivate" disguised="1"/>
+ <record name="CompactClass">
+ <field name="s">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="i">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <constructor name="new" c:identifier="gir_test_compactclass_new">
+ <return-value transfer-ownership="full">
+ <type name="GirTest.CompactClass" c:type="GirTestCompactClass*"/>
+ </return-value>
+ </constructor>
+ </record>
+ <class name="SkippedClass" c:type="GirTestSkippedClass" c:symbol-prefix="skippedclass"
glib:type-name="GirTestSkippedClass" glib:get-type="gir_test_skippedclass_get_type"
glib:type-struct="SkippedClassClass" glib:fundamental="1" glib:ref-func="gir_test_skippedclass_ref"
glib:unref-func="gir_test_skippedclass_unref" glib:set-value-func="gir_test_value_set_skippedclass"
glib:get-value-func="gir_test_value_get_skippedclass" introspectable="0">
+ <field name="parent_instance" readable="0" private="1">
+ <type name="GObject.TypeInstance" c:type="GTypeInstance"/>
+ </field>
+ <field name="ref_count">
+ <type name="gint" c:type="volatile int"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="SkippedClassPrivate" c:type="GirTestSkippedClassPrivate*"/>
+ </field>
+ <constructor name="new" c:identifier="gir_test_skippedclass_new">
+ <return-value transfer-ownership="full">
+ <type name="GirTest.SkippedClass" c:type="GirTestSkippedClass*"/>
+ </return-value>
+ </constructor>
+ </class>
+ <record name="SkippedClassClass" c:type="GirTestSkippedClassClass"
glib:is-gtype-struct-for="SkippedClass">
+ <field name="parent_class" readable="0" private="1">
+ <type name="GObject.TypeClass" c:type="GTypeClass"/>
+ </field>
+ </record>
+ <record name="SkippedClassPrivate" c:type="GirTestSkippedClassPrivate" disguised="1"/>
+ <class name="DeprecatedClassTest" c:type="GirTestDeprecatedClassTest"
c:symbol-prefix="deprecated_class_test" glib:type-name="GirTestDeprecatedClassTest"
glib:get-type="gir_test_deprecated_class_test_get_type" glib:type-struct="DeprecatedClassTestClass"
glib:fundamental="1" glib:ref-func="gir_test_deprecated_class_test_ref"
glib:unref-func="gir_test_deprecated_class_test_unref"
glib:set-value-func="gir_test_value_set_deprecated_class_test"
glib:get-value-func="gir_test_value_get_deprecated_class_test" deprecated="1" deprecated-version="0.1.2"
version="0.1.0">
+ <field name="parent_instance" readable="0" private="1">
+ <type name="GObject.TypeInstance" c:type="GTypeInstance"/>
+ </field>
+ <field name="ref_count">
+ <type name="gint" c:type="volatile int"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="DeprecatedClassTestPrivate" c:type="GirTestDeprecatedClassTestPrivate*"/>
+ </field>
+ <constructor name="new" c:identifier="gir_test_deprecated_class_test_new">
+ <return-value transfer-ownership="full">
+ <type name="GirTest.DeprecatedClassTest"
c:type="GirTestDeprecatedClassTest*"/>
+ </return-value>
+ </constructor>
+ </class>
+ <record name="DeprecatedClassTestClass" c:type="GirTestDeprecatedClassTestClass"
glib:is-gtype-struct-for="DeprecatedClassTest">
+ <field name="parent_class" readable="0" private="1">
+ <type name="GObject.TypeClass" c:type="GTypeClass"/>
+ </field>
+ </record>
+ <record name="DeprecatedClassTestPrivate" c:type="GirTestDeprecatedClassTestPrivate" disguised="1"/>
+ <class name="GenericsTest" c:type="GirTestGenericsTest" c:symbol-prefix="generics_test"
glib:type-name="GirTestGenericsTest" glib:get-type="gir_test_generics_test_get_type"
glib:type-struct="GenericsTestClass" glib:fundamental="1" glib:ref-func="gir_test_generics_test_ref"
glib:unref-func="gir_test_generics_test_unref" glib:set-value-func="gir_test_value_set_generics_test"
glib:get-value-func="gir_test_value_get_generics_test">
+ <field name="parent_instance" readable="0" private="1">
+ <type name="GObject.TypeInstance" c:type="GTypeInstance"/>
+ </field>
+ <field name="ref_count">
+ <type name="gint" c:type="volatile int"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="GenericsTestPrivate" c:type="GirTestGenericsTestPrivate*"/>
+ </field>
+ <constructor name="new" c:identifier="gir_test_generics_test_new">
+ <return-value transfer-ownership="full">
+ <type name="GirTest.GenericsTest" c:type="GirTestGenericsTest*"/>
+ </return-value>
+ <parameters>
+ <parameter name="g_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="g_dup_func" transfer-ownership="none">
+ <type name="GObject.BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
+ </parameter>
+ <parameter name="g_destroy_func" transfer-ownership="none">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ <parameter name="t_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="t_dup_func" transfer-ownership="none">
+ <type name="GObject.BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
+ </parameter>
+ <parameter name="t_destroy_func" transfer-ownership="none">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ <parameter name="cb" transfer-ownership="none" closure="7" scope="notified"
destroy="8">
+ <type name="GirTest.DelegateTest" c:type="GirTestDelegateTest"/>
+ </parameter>
+ <parameter name="cb_target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ <parameter name="cb_target_destroy_notify" transfer-ownership="none"
scope="call">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="typed" c:identifier="gir_test_generics_test_new_typed">
+ <return-value transfer-ownership="full">
+ <type name="GirTest.GenericsTest" c:type="GirTestGenericsTest*"/>
+ </return-value>
+ <parameters>
+ <parameter name="g_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="g_dup_func" transfer-ownership="none">
+ <type name="GObject.BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
+ </parameter>
+ <parameter name="g_destroy_func" transfer-ownership="none">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ <parameter name="t_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="t_dup_func" transfer-ownership="none">
+ <type name="GObject.BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
+ </parameter>
+ <parameter name="t_destroy_func" transfer-ownership="none">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ <parameter name="cb" transfer-ownership="none" closure="7" scope="notified"
destroy="8">
+ <type name="GirTest.DelegateGenericsTest"
c:type="GirTestDelegateGenericsTest"/>
+ </parameter>
+ <parameter name="cb_target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ <parameter name="cb_target_destroy_notify" transfer-ownership="none"
scope="call">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="method" c:identifier="gir_test_generics_test_method">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ </class>
+ <record name="GenericsTestClass" c:type="GirTestGenericsTestClass"
glib:is-gtype-struct-for="GenericsTest">
+ <field name="parent_class" readable="0" private="1">
+ <type name="GObject.TypeClass" c:type="GTypeClass"/>
+ </field>
+ </record>
+ <record name="GenericsTestPrivate" c:type="GirTestGenericsTestPrivate" disguised="1"/>
+ <class name="GenericsObjectTest" c:type="GirTestGenericsObjectTest"
c:symbol-prefix="generics_object_test" glib:type-name="GirTestGenericsObjectTest"
glib:get-type="gir_test_generics_object_test_get_type" glib:type-struct="GenericsObjectTestClass"
parent="GObject.Object">
+ <field name="parent_instance" readable="0" private="1">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="GenericsObjectTestPrivate" c:type="GirTestGenericsObjectTestPrivate*"/>
+ </field>
+ <property name="g-type" writable="1" construct-only="1">
+ <type name="GType" c:type="GType"/>
+ </property>
+ <property name="g-dup-func" writable="1" construct-only="1">
+ <type name="GObject.BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
+ </property>
+ <property name="g-destroy-func" writable="1" construct-only="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </property>
+ <property name="t-type" writable="1" construct-only="1">
+ <type name="GType" c:type="GType"/>
+ </property>
+ <property name="t-dup-func" writable="1" construct-only="1">
+ <type name="GObject.BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
+ </property>
+ <property name="t-destroy-func" writable="1" construct-only="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </property>
+ <method name="method" c:identifier="gir_test_generics_object_test_method">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="k_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="k_dup_func" transfer-ownership="none">
+ <type name="GObject.BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
+ </parameter>
+ <parameter name="k_destroy_func" transfer-ownership="none">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ <parameter name="param" transfer-ownership="none">
+ <array length="4" c:type="gpointer*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </parameter>
+ <parameter name="param_length1" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <constructor name="new" c:identifier="gir_test_generics_object_test_new">
+ <return-value transfer-ownership="full">
+ <type name="GirTest.GenericsObjectTest" c:type="GirTestGenericsObjectTest*"/>
+ </return-value>
+ <parameters>
+ <parameter name="g_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="g_dup_func" transfer-ownership="none">
+ <type name="GObject.BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
+ </parameter>
+ <parameter name="g_destroy_func" transfer-ownership="none">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ <parameter name="t_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="t_dup_func" transfer-ownership="none">
+ <type name="GObject.BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
+ </parameter>
+ <parameter name="t_destroy_func" transfer-ownership="none">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ </class>
+ <record name="GenericsObjectTestClass" c:type="GirTestGenericsObjectTestClass"
glib:is-gtype-struct-for="GenericsObjectTest">
+ <field name="parent_class" readable="0" private="1">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ </record>
+ <record name="GenericsObjectTestPrivate" c:type="GirTestGenericsObjectTestPrivate" disguised="1"/>
+ <interface name="InterfaceTest" c:type="GirTestInterfaceTest" c:symbol-prefix="interface_test"
glib:type-name="GirTestInterfaceTest" glib:get-type="gir_test_interface_test_get_type"
glib:type-struct="InterfaceTestIface">
+ <prerequisite name="GObject.Object"/>
+ <method name="int8_in" c:identifier="gir_test_interface_test_int8_in">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint8" c:type="gint8"/>
+ </parameter>
+ </parameters>
+ </method>
+ <virtual-method name="int8_in" invoker="int8_in">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint8" c:type="gint8"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="coroutine_async" c:identifier="gir_test_interface_test_coroutine_async">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1"
closure="1" scope="async">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="coroutine_finish" c:identifier="gir_test_interface_test_coroutine_finish">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <virtual-method name="coroutine_async" invoker="coroutine_async">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1"
closure="1" scope="async">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="coroutine_finish" invoker="coroutine_finish">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="method_valist" c:identifier="gir_test_interface_test_method_valist"
introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="vargs" transfer-ownership="none">
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <virtual-method name="method_valist" invoker="method_valist" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="vargs" transfer-ownership="none">
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="skipped_coroutine_method"
c:identifier="gir_test_interface_test_skipped_coroutine_method" introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1"
closure="2" scope="async">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="skipped_coroutine_method_finish"
c:identifier="gir_test_interface_test_skipped_coroutine_method_finish" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <virtual-method name="skipped_coroutine_method" invoker="skipped_coroutine_method"
introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1"
closure="2" scope="async">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="skipped_coroutine_method_finish"
invoker="skipped_coroutine_method_finish" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <property name="property" writable="1" construct="1">
+ <type name="gint" c:type="gint"/>
+ </property>
+ <method name="get_property" c:identifier="gir_test_interface_test_get_property">
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </method>
+ <virtual-method name="get_property" invoker="get_property">
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </virtual-method>
+ <method name="set_property" c:identifier="gir_test_interface_test_set_property">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <virtual-method name="set_property" invoker="set_property">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ </interface>
+ <record name="InterfaceTestIface" c:type="GirTestInterfaceTestIface"
glib:is-gtype-struct-for="InterfaceTest">
+ <field name="parent_iface" readable="0" private="1">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="int8_in">
+ <callback name="int8_in" c:type="int8_in">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.InterfaceTest"
c:type="GirTestInterfaceTest*"/>
+ </parameter>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint8" c:type="gint8"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="coroutine_async">
+ <callback name="coroutine_async" c:type="coroutine_async">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.InterfaceTest"
c:type="GirTestInterfaceTest*"/>
+ </parameter>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1"
closure="2" scope="async">
+ <type name="Gio.AsyncReadyCallback"
c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none"
allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="coroutine_finish">
+ <callback name="coroutine_finish" c:type="coroutine_finish">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.InterfaceTest"
c:type="GirTestInterfaceTest*"/>
+ </parameter>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="method_valist" introspectable="0">
+ <callback name="method_valist" c:type="method_valist">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.InterfaceTest"
c:type="GirTestInterfaceTest*"/>
+ </parameter>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="vargs" transfer-ownership="none">
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="skipped_coroutine_method" introspectable="0">
+ <callback name="skipped_coroutine_method" c:type="skipped_coroutine_method">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.InterfaceTest"
c:type="GirTestInterfaceTest*"/>
+ </parameter>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1"
closure="3" scope="async">
+ <type name="Gio.AsyncReadyCallback"
c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none"
allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="skipped_coroutine_method_finish" introspectable="0">
+ <callback name="skipped_coroutine_method_finish"
c:type="skipped_coroutine_method_finish">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.InterfaceTest"
c:type="GirTestInterfaceTest*"/>
+ </parameter>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_property">
+ <callback name="get_property" c:type="get_property">
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.InterfaceTest"
c:type="GirTestInterfaceTest*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_property">
+ <callback name="set_property" c:type="set_property">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.InterfaceTest"
c:type="GirTestInterfaceTest*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ </record>
+ <interface name="SkippedInterface" c:type="GirTestSkippedInterface"
c:symbol-prefix="skipped_interface" glib:type-name="GirTestSkippedInterface"
glib:get-type="gir_test_skipped_interface_get_type" glib:type-struct="SkippedInterfaceIface"
introspectable="0">
+ </interface>
+ <record name="SkippedInterfaceIface" c:type="GirTestSkippedInterfaceIface"
glib:is-gtype-struct-for="SkippedInterface">
+ <field name="parent_iface" readable="0" private="1">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ </record>
+ <interface name="PrerequisiteTest" c:type="GirTestPrerequisiteTest"
c:symbol-prefix="prerequisite_test" glib:type-name="GirTestPrerequisiteTest"
glib:get-type="gir_test_prerequisite_test_get_type" glib:type-struct="PrerequisiteTestIface">
+ <prerequisite name="GirTest.InterfaceTest"/>
+ </interface>
+ <record name="PrerequisiteTestIface" c:type="GirTestPrerequisiteTestIface"
glib:is-gtype-struct-for="PrerequisiteTest">
+ <field name="parent_iface" readable="0" private="1">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ </record>
+ <record name="BoxedStruct" c:type="GirTestBoxedStruct" c:symbol-prefix="boxed_struct"
glib:type-name="GirTestBoxedStruct" glib:get-type="gir_test_boxed_struct_get_type">
+ <field name="field_name">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <function name="init" c:identifier="gir_test_boxed_struct_init">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="result" direction="out" transfer-ownership="full"
caller-allocates="1">
+ <type name="GirTest.BoxedStruct" c:type="GirTestBoxedStruct*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="inv" c:identifier="gir_test_boxed_struct_inv">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ </record>
+ <record name="Struct" c:type="GirTestStruct" c:symbol-prefix="struct">
+ <field name="field_name">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <function name="init" c:identifier="gir_test_struct_init">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="result" direction="out" transfer-ownership="full"
caller-allocates="1">
+ <type name="GirTest.Struct" c:type="GirTestStruct*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="inv" c:identifier="gir_test_struct_inv">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </method>
+ </record>
+ <record name="SkippedStruct" c:type="GirTestSkippedStruct" c:symbol-prefix="skipped_struct"
glib:type-name="GirTestSkippedStruct" glib:get-type="gir_test_skipped_struct_get_type" introspectable="0">
+ <field name="field_name">
+ <type name="gint" c:type="gint"/>
+ </field>
+ </record>
+ <callback name="DelegateTest" c:type="GirTestDelegateTest">
+ <return-value transfer-ownership="full">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="a" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ <parameter name="b" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="2">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="DelegateErrorTest" c:type="GirTestDelegateErrorTest" throws="1">
+ <return-value transfer-ownership="full">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </callback>
+ <callback name="DelegateGenericsTest" c:type="GirTestDelegateGenericsTest">
+ <return-value transfer-ownership="full">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="g_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="g_dup_func" transfer-ownership="none">
+ <type name="GObject.BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
+ </parameter>
+ <parameter name="g_destroy_func" transfer-ownership="none">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ <parameter name="t_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="t_dup_func" transfer-ownership="none">
+ <type name="GObject.BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
+ </parameter>
+ <parameter name="t_destroy_func" transfer-ownership="none">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ <parameter name="g" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="t" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="8">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="SkippedDelegate" c:type="GirTestSkippedDelegate" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ <constant name="CONSTANT_NUMBER" c:identifier="GIR_TEST_CONSTANT_NUMBER" value="42">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="CONSTANT_STRING" c:identifier="GIR_TEST_CONSTANT_STRING" value="const ♥ utf8">
+ <type name="utf8" c:type="const gchar*"/>
+ </constant>
+</namespace>
+</repository>
diff --git a/tests/girwriter/Makefile.am b/tests/girwriter/Makefile.am
new file mode 100644
index 000000000..d5c383178
--- /dev/null
+++ b/tests/girwriter/Makefile.am
@@ -0,0 +1,33 @@
+NULL =
+
+check-girwriter: $(top_builddir)/compiler/valac
+ G_DEBUG=fatal-warnings $(top_builddir)/compiler/valac \
+ -C \
+ --disable-version-header \
+ --vapidir $(top_srcdir)/vapi \
+ --pkg gio-2.0 \
+ --gir GirTest-1.0.gir \
+ --library girtest \
+ --shared-library girtest \
+ $(srcdir)/girtest.vala; \
+ tail -n +3 girtest.vapi | diff -wu $(srcdir)/girtest.vapi-expected - || exit 1; \
+ tail -n +3 GirTest-1.0.gir | diff -wu $(srcdir)/GirTest-1.0.gir-expected - || exit 1;
+if HAVE_G_IR_COMPILER
+ $(G_IR_COMPILER) -o GirTest-1.0.typelib GirTest-1.0.gir;
+endif
+ rm -f GirTest-1.0.gir GirTest-1.0.typelib girtest.vapi girtest.c
+
+check: check-girwriter
+
+EXTRA_DIST = \
+ girtest.vala \
+ girtest.vapi-expected \
+ GirTest-1.0.gir-expected \
+ $(NULL)
+
+CLEANFILES = \
+ girtest.c \
+ girtest.vapi \
+ GirTest-1.0.gir \
+ GirTest-1.0.typelib \
+ $(NULL)
diff --git a/tests/girwriter/girtest.vala b/tests/girwriter/girtest.vala
new file mode 100644
index 000000000..9aeeacc4a
--- /dev/null
+++ b/tests/girwriter/girtest.vala
@@ -0,0 +1,349 @@
+[CCode (gir_namespace = "GirTest", gir_version = "1.0")]
+namespace GirTest {
+ public struct BoxedStruct {
+ public int field_name;
+
+ public BoxedStruct () {
+ }
+
+ public void inv () {
+ }
+ }
+
+ [CCode (has_type_id = false)]
+ public struct Struct {
+ public int field_name;
+
+ public Struct () {
+ }
+
+ public void inv () {
+ }
+ }
+
+ [GIR (visible = false)]
+ public struct SkippedStruct {
+ public int field_name;
+ }
+
+ public const int CONSTANT_NUMBER = 42;
+ public const string CONSTANT_STRING = "const ♥ utf8";
+
+ public enum EnumTest {
+ VALUE1,
+ VALUE2,
+ VALUE3 = 4711
+ }
+
+ [Flags]
+ public enum FlagsTest {
+ VALUE1,
+ VALUE2,
+ VALUE3
+ }
+
+ [CCode (has_type_id = false)]
+ public enum PlainEnumTest {
+ VALUE1,
+ VALUE2,
+ VALUE3 = 4711
+ }
+
+ [GIR (visible = false)]
+ public enum SkippedEnum {
+ VALUE1
+ }
+
+ [GIR (visible = false)]
+ public enum SkippedFlags {
+ VALUE1
+ }
+
+ public errordomain ErrorTest {
+ FAILED,
+ SMELLY,
+ FISHY = 23
+ }
+
+ public interface InterfaceTest : Object {
+ public abstract int property { get; construct set; }
+ public virtual void int8_in (int8 param) {
+ }
+ public virtual async void coroutine_async () {
+ }
+ public virtual void method_valist (int param, va_list vargs) {
+ }
+ [GIR (visible = false)]
+ public virtual async void skipped_coroutine_method (int param) {
+ }
+ }
+
+ [GIR (visible = false)]
+ public interface SkippedInterface {
+ }
+
+ public delegate bool DelegateTest (void* a, void* b);
+
+ public delegate bool DelegateErrorTest () throws ErrorTest;
+
+ public delegate bool DelegateGenericsTest<G,T> (G g, T t);
+
+ [GIR (visible = false)]
+ public delegate void SkippedDelegate ();
+
+ public class TypeTest {
+ public string some_property { get; set; }
+ }
+
+ public class SubTypeTest : TypeTest {
+ public string[] array_field;
+ public DelegateTest delegate_field;
+ }
+
+ public class ObjectTest : Object {
+ private static ObjectTest global_instance = new ObjectTest ();
+
+ public signal void some_signal (int param);
+
+ [GIR (visible = false)]
+ public signal void skipped_signal (int param);
+
+ public int field = 42;
+
+ public int fixed_array_field[23];
+
+ public string? nullable_field;
+
+ public string some_property { get; construct set; }
+
+ public string write_only_property { set; }
+
+ public string construct_only_property { construct; }
+
+ [GIR (visible = false)]
+ public string skipped_property { get; construct set; }
+
+ public ObjectTest () {
+ }
+ public ObjectTest.with_int (int param) {
+ field = param;
+ }
+ public ObjectTest.may_fail (int param) throws ErrorTest {
+ field = param;
+ }
+ public ObjectTest.newv (int param, ...) {
+ field = param;
+ }
+ public ObjectTest.new_valist (int param, va_list vargs) {
+ field = param;
+ }
+ public static void full_inout (ref ObjectTest obj) {
+ assert (obj.field == 42);
+ obj = new ObjectTest ();
+ }
+ public static void full_out (out ObjectTest obj) {
+ obj = new ObjectTest ();
+ }
+ public static ObjectTest full_return () {
+ return new ObjectTest ();
+ }
+ public static void none_inout (ref unowned ObjectTest obj) {
+ assert (obj.field == 42);
+ obj = global_instance;
+ }
+ public static void none_out (out unowned ObjectTest obj) {
+ obj = global_instance;
+ }
+ public static unowned ObjectTest none_return () {
+ return global_instance;
+ }
+
+ public static void static_method () {
+ }
+
+ public virtual void method_with_default_impl (int8 param) {
+ }
+
+ public void int8_in (int8 param) {
+ }
+
+ public void int8_out (out int8 param) {
+ param = 42;
+ }
+
+ public void method () {
+ }
+
+ public void method_varargs (int param, ...) {
+ }
+
+ public void method_valist (int param, va_list vargs) {
+ }
+
+ public void array_in (int[] array) {
+ }
+
+ public void array_inout (ref int[] array) {
+ assert (array.length > 0);
+ array = new int[8];
+ }
+
+ public void array_out (out int[] array) {
+ array = new int[8];
+ }
+
+ public int[] array_return () {
+ return new int[8];
+ }
+
+ public void int_in_int_in_array_out (int param1, int param2, out int[] array) {
+ array = new int[8];
+ }
+
+ public int[] int_in_int_in_array_return (int param1, int param2) {
+ return new int[8];
+ }
+
+ public void string_array_out (out string[] array) {
+ array = { "foo" };
+ }
+
+ public string[] string_array_return () {
+ return { "foo" };
+ }
+
+ public void none_in () {
+ }
+
+ public DelegateTest delegate_return () {
+ return (val1, val2) => { return (void*)val1 == (void*)val2; };
+ }
+
+ public DelegateTest delegate_return_int_in_array_out (int i1, out int[] a) {
+ a = new int[8];
+ return delegate_return ();
+ }
+
+ public int[] array_return_int_in_delegate_out (int i1, out DelegateTest d) {
+ d = delegate_return ();
+ return new int[8];
+ }
+
+ public EqualFunc simple_delegate_return () {
+ return str_equal;
+ }
+
+ public (unowned string)[] container_return () {
+ return { "foo", "bar" };
+ }
+
+ public GenericArray<unowned string>? generic_array_container_return () {
+ return null;
+ }
+
+ public async void coroutine_async () {
+ }
+
+ public virtual async void coroutine_virtual_async () {
+ }
+
+ public virtual async void coroutine_method_throw (int i1, out int o1) throws ErrorTest {
+ o1 = i1;
+ }
+
+ public void simple_throw () throws ErrorTest {
+ }
+
+ public virtual void method_throw () throws ErrorTest {
+ }
+
+ public void method_with_default (int i = Priority.HIGH) {
+ }
+
+ public virtual signal void signal_with_default_handlder (int i1) {
+ }
+
+ [GIR (visible = false)]
+ public void skipped_method () {
+ }
+ }
+
+ public abstract class AbstractObjectTest : Object {
+ public abstract void method_int8_in (int8 param);
+
+ public abstract void method_int8_inout (ref int8 param);
+
+ public abstract void method_int8_out (out int8 param);
+
+ public abstract void method_throw () throws ErrorTest;
+
+ public abstract void method_valist (int param, va_list vargs);
+
+ [GIR (visible = false)]
+ public abstract async void skipped_coroutine_method (int param);
+ }
+
+ public interface PrerequisiteTest : InterfaceTest {
+ }
+
+ public class ImplementionTest : Object, InterfaceTest {
+ public int property { get; construct set; }
+ }
+
+ [Compact]
+ public class CompactClass {
+ public string s;
+ public int i;
+ }
+
+ [GIR (visible = false)]
+ public class SkippedClass {
+ }
+
+ [Version (deprecated = true, deprecated_since = "0.1.2", since = "0.1.0")]
+ public class DeprecatedClassTest {
+ }
+
+ public class GenericsTest<G,T> {
+ public GenericsTest (owned DelegateTest cb) {
+ }
+
+ public GenericsTest.typed (owned DelegateGenericsTest<G,T> cb) {
+ }
+
+ public void method (T param) {
+ }
+ }
+
+ public class GenericsObjectTest<G,T> : Object {
+ public void method<K> (K[] param) {
+ }
+ }
+}
+
+public enum InvalidEnum {
+ VALUE
+}
+
+public errordomain InvalidError {
+ FAILED
+}
+
+public class InvalidClass {
+}
+
+public interface InvalidIface {
+}
+
+public struct InvalidStruct {
+ public int i;
+}
+
+public delegate void InvalidFunc ();
+
+public const int INVALID_CONST = 0;
+
+public int invalid_field;
+
+public void invalid_method () {
+}
diff --git a/tests/girwriter/girtest.vapi-expected b/tests/girwriter/girtest.vapi-expected
new file mode 100644
index 000000000..23ca2a8bd
--- /dev/null
+++ b/tests/girwriter/girtest.vapi-expected
@@ -0,0 +1,221 @@
+[CCode (gir_namespace = "GirTest", gir_version = "1.0")]
+namespace GirTest {
+ [CCode (cheader_filename = "girtest.h")]
+ public abstract class AbstractObjectTest : GLib.Object {
+ protected AbstractObjectTest ();
+ public abstract void method_int8_in (int8 param);
+ public abstract void method_int8_inout (ref int8 param);
+ public abstract void method_int8_out (out int8 param);
+ public abstract void method_throw () throws GirTest.ErrorTest;
+ public abstract void method_valist (int param, va_list vargs);
+ [GIR (visible = false)]
+ public abstract async void skipped_coroutine_method (int param);
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ [Compact]
+ public class CompactClass {
+ public int i;
+ public string s;
+ public CompactClass ();
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ [Version (deprecated = true, deprecated_since = "0.1.2", since = "0.1.0")]
+ public class DeprecatedClassTest {
+ public DeprecatedClassTest ();
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ public class GenericsObjectTest<G,T> : GLib.Object {
+ public GenericsObjectTest ();
+ public void method<K> (K[] param);
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ public class GenericsTest<G,T> {
+ public GenericsTest (owned GirTest.DelegateTest cb);
+ public void method (T param);
+ public GenericsTest.typed (owned GirTest.DelegateGenericsTest<G,T> cb);
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ public class ImplementionTest : GLib.Object, GirTest.InterfaceTest {
+ public ImplementionTest ();
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ public class ObjectTest : GLib.Object {
+ public int field;
+ public int fixed_array_field[23];
+ public string? nullable_field;
+ public ObjectTest ();
+ public void array_in (int[] array);
+ public void array_inout (ref int[] array);
+ public void array_out (out int[] array);
+ public int[] array_return ();
+ public int[] array_return_int_in_delegate_out (int i1, out GirTest.DelegateTest d);
+ public (unowned string)[] container_return ();
+ public async void coroutine_async ();
+ public virtual async void coroutine_method_throw (int i1, out int o1) throws
GirTest.ErrorTest;
+ public virtual async void coroutine_virtual_async ();
+ public GirTest.DelegateTest delegate_return ();
+ public GirTest.DelegateTest delegate_return_int_in_array_out (int i1, out int[] a);
+ public static void full_inout (ref GirTest.ObjectTest obj);
+ public static void full_out (out GirTest.ObjectTest obj);
+ public static GirTest.ObjectTest full_return ();
+ public GLib.GenericArray<weak string>? generic_array_container_return ();
+ public void int8_in (int8 param);
+ public void int8_out (out int8 param);
+ public void int_in_int_in_array_out (int param1, int param2, out int[] array);
+ public int[] int_in_int_in_array_return (int param1, int param2);
+ public ObjectTest.may_fail (int param) throws GirTest.ErrorTest;
+ public void method ();
+ public virtual void method_throw () throws GirTest.ErrorTest;
+ public void method_valist (int param, va_list vargs);
+ public void method_varargs (int param, ...);
+ public void method_with_default (int i = GLib.Priority.HIGH);
+ public virtual void method_with_default_impl (int8 param);
+ public ObjectTest.new_valist (int param, va_list vargs);
+ public ObjectTest.newv (int param, ...);
+ public void none_in ();
+ public static void none_inout (ref unowned GirTest.ObjectTest obj);
+ public static void none_out (out unowned GirTest.ObjectTest obj);
+ public static unowned GirTest.ObjectTest none_return ();
+ public GLib.EqualFunc simple_delegate_return ();
+ public void simple_throw () throws GirTest.ErrorTest;
+ [GIR (visible = false)]
+ public void skipped_method ();
+ public static void static_method ();
+ public void string_array_out (out string[] array);
+ public string[] string_array_return ();
+ public ObjectTest.with_int (int param);
+ public string construct_only_property { construct; }
+ [GIR (visible = false)]
+ public string skipped_property { get; set construct; }
+ public string some_property { get; set construct; }
+ public string write_only_property { set; }
+ public virtual signal void signal_with_default_handlder (int i1);
+ [GIR (visible = false)]
+ public signal void skipped_signal (int param);
+ public signal void some_signal (int param);
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ [GIR (visible = false)]
+ public class SkippedClass {
+ public SkippedClass ();
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ public class SubTypeTest : GirTest.TypeTest {
+ public string[] array_field;
+ public GirTest.DelegateTest delegate_field;
+ public SubTypeTest ();
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ public class TypeTest {
+ public TypeTest ();
+ public string some_property { get; set; }
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ public interface InterfaceTest : GLib.Object {
+ public virtual async void coroutine_async ();
+ public virtual void int8_in (int8 param);
+ public virtual void method_valist (int param, va_list vargs);
+ [GIR (visible = false)]
+ public virtual async void skipped_coroutine_method (int param);
+ public abstract int property { get; set construct; }
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ public interface PrerequisiteTest : GirTest.InterfaceTest {
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ [GIR (visible = false)]
+ public interface SkippedInterface {
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ public struct BoxedStruct {
+ public int field_name;
+ public BoxedStruct ();
+ public void inv ();
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ [GIR (visible = false)]
+ public struct SkippedStruct {
+ public int field_name;
+ }
+ [CCode (cheader_filename = "girtest.h", has_type_id = false)]
+ public struct Struct {
+ public int field_name;
+ public Struct ();
+ public void inv ();
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ public enum EnumTest {
+ VALUE1,
+ VALUE2,
+ VALUE3
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ [Flags]
+ public enum FlagsTest {
+ VALUE1,
+ VALUE2,
+ VALUE3
+ }
+ [CCode (cheader_filename = "girtest.h", has_type_id = false)]
+ public enum PlainEnumTest {
+ VALUE1,
+ VALUE2,
+ VALUE3
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ [GIR (visible = false)]
+ public enum SkippedEnum {
+ VALUE1
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ [GIR (visible = false)]
+ public enum SkippedFlags {
+ VALUE1
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ public errordomain ErrorTest {
+ FAILED,
+ SMELLY,
+ FISHY
+ }
+ [CCode (cheader_filename = "girtest.h")]
+ public delegate bool DelegateErrorTest () throws GirTest.ErrorTest;
+ [CCode (cheader_filename = "girtest.h")]
+ public delegate bool DelegateGenericsTest<G,T> (G g, T t);
+ [CCode (cheader_filename = "girtest.h")]
+ public delegate bool DelegateTest (void* a, void* b);
+ [CCode (cheader_filename = "girtest.h")]
+ [GIR (visible = false)]
+ public delegate void SkippedDelegate ();
+ [CCode (cheader_filename = "girtest.h")]
+ public const int CONSTANT_NUMBER;
+ [CCode (cheader_filename = "girtest.h")]
+ public const string CONSTANT_STRING;
+}
+[CCode (cheader_filename = "girtest.h")]
+public enum InvalidEnum {
+ VALUE
+}
+[CCode (cheader_filename = "girtest.h")]
+public errordomain InvalidError {
+ FAILED
+}
+[CCode (cheader_filename = "girtest.h")]
+public class InvalidClass {
+ public InvalidClass ();
+}
+[CCode (cheader_filename = "girtest.h")]
+public interface InvalidIface {
+}
+[CCode (cheader_filename = "girtest.h")]
+public struct InvalidStruct {
+ public int i;
+}
+[CCode (cheader_filename = "girtest.h")]
+public delegate void InvalidFunc ();
+[CCode (cheader_filename = "girtest.h")]
+public const int INVALID_CONST;
+[CCode (cheader_filename = "girtest.h")]
+public static int invalid_field;
+[CCode (cheader_filename = "girtest.h")]
+public static void invalid_method ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]