[vala/0.50] girwriter: Write instance-parameter elements



commit 08f2af0518d0ff0d4f0dd4d354ce759e87500019
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Mon Jan 18 15:38:51 2021 +0100

    girwriter: Write instance-parameter elements
    
    Fixes https://gitlab.gnome.org/GNOME/vala/issues/1128

 codegen/valagirwriter.vala               |  48 ++--
 tests/girwriter/GirTest-1.0.gir-expected | 411 ++++++++++++++++++++++++++-----
 2 files changed, 376 insertions(+), 83 deletions(-)
---
diff --git a/codegen/valagirwriter.vala b/codegen/valagirwriter.vala
index a76b71bac..e237510a0 100644
--- a/codegen/valagirwriter.vala
+++ b/codegen/valagirwriter.vala
@@ -1059,16 +1059,16 @@ public class Vala.GIRWriter : CodeVisitor {
        private void write_implicit_params (DataType? type, ref int index, bool has_array_length, string? 
name, ParameterDirection direction) {
                if (type is ArrayType && has_array_length) {
                        for (var i = 0; i < ((ArrayType) type).rank; i++) {
-                               write_param_or_return (((ArrayType) type).length_type, true, ref index, 
has_array_length, "%s_length%i".printf (name, i + 1), null, direction);
+                               write_param_or_return (((ArrayType) type).length_type, "parameter", ref 
index, has_array_length, "%s_length%i".printf (name, i + 1), null, direction);
                        }
                } else if (type is DelegateType) {
                        var deleg_type = (DelegateType) type;
                        if (deleg_type.delegate_symbol.has_target) {
                                var data_type = new PointerType (new VoidType ());
-                               write_param_or_return (data_type, true, ref index, false, "%s_target".printf 
(name), null, direction);
+                               write_param_or_return (data_type, "parameter", ref index, false, 
"%s_target".printf (name), null, direction);
                                if (deleg_type.is_disposable ()) {
                                        var notify_type = new DelegateType (context.root.scope.lookup 
("GLib").scope.lookup ("DestroyNotify") as Delegate);
-                                       write_param_or_return (notify_type, true, ref index, false, 
"%s_target_destroy_notify".printf (name), null, direction);
+                                       write_param_or_return (notify_type, "parameter", ref index, false, 
"%s_target_destroy_notify".printf (name), null, direction);
                                }
                        }
                }
@@ -1125,17 +1125,13 @@ public class Vala.GIRWriter : CodeVisitor {
                buffer.append_printf ("</%s>\n", tag_type);
        }
 
-       private void write_params_and_return (List<Parameter> params, List<TypeParameter>? type_params, 
DataType? return_type, bool return_array_length, string? return_comment = null, bool constructor = false, 
DataType? instance_type = null, bool user_data = false) {
+       private void write_params_and_return (List<Parameter> params, List<TypeParameter>? type_params, 
DataType? return_type, bool return_array_length, string? return_comment = null, bool constructor = false, 
Parameter? instance_param = null, bool user_data = false) {
                int last_index = 0;
                bool ret_is_struct = return_type != null && return_type.is_real_non_null_struct_type ();
 
-               if (params.size != 0 || instance_type != null || (return_type is ArrayType && 
return_array_length) || (return_type is DelegateType) || ret_is_struct) {
+               if (params.size != 0 || (return_type is ArrayType && return_array_length) || (return_type is 
DelegateType) || ret_is_struct) {
                        int index = 0;
 
-                       if (instance_type != null) {
-                               index++;
-                       }
-
                        foreach (Parameter param in params) {
                                index++;
 
@@ -1155,19 +1151,25 @@ public class Vala.GIRWriter : CodeVisitor {
                }
 
                if (return_type != null && !ret_is_struct) {
-                       write_param_or_return (return_type, false, ref last_index, return_array_length, null, 
return_comment, ParameterDirection.IN, constructor);
+                       write_param_or_return (return_type, "return-value", ref last_index, 
return_array_length, null, return_comment, ParameterDirection.IN, constructor);
                } else if (ret_is_struct) {
-                       write_param_or_return (new VoidType (), false, ref last_index, false, null, 
return_comment, ParameterDirection.IN);
+                       write_param_or_return (new VoidType (), "return-value", ref last_index, false, null, 
return_comment, ParameterDirection.IN);
                }
 
-               if (params.size != 0 || (type_params != null && type_params.size > 0) || instance_type != 
null || (return_type is ArrayType && return_array_length) || (return_type is DelegateType) || ret_is_struct) {
+               if (params.size != 0 || (type_params != null && type_params.size > 0) || instance_param != 
null || (return_type is ArrayType && return_array_length) || (return_type is DelegateType) || ret_is_struct) {
                        write_indent ();
                        buffer.append_printf ("<parameters>\n");
                        indent++;
                        int index = 0;
 
-                       if (instance_type != null) {
-                               write_param_or_return (instance_type, true, ref index, false, "self");
+                       if (instance_param != null) {
+                               var type = instance_param.variable_type.copy ();
+                               unowned Struct? st = type.type_symbol as Struct;
+                               if (st != null && !st.is_simple_type ()) {
+                                       type.nullable = true;
+                               }
+                               int skip = 0;
+                               write_param_or_return (type, "instance-parameter", ref skip, false, "self");
                        }
 
                        if (type_params != null) {
@@ -1178,14 +1180,14 @@ public class Vala.GIRWriter : CodeVisitor {
                        }
 
                        foreach (Parameter param in params) {
-                               write_param_or_return (param.variable_type, true, ref index, 
get_ccode_array_length (param), param.name, get_parameter_comment (param), param.direction, false, false, 
param.ellipsis || param.params_array);
+                               write_param_or_return (param.variable_type, "parameter", ref index, 
get_ccode_array_length (param), param.name, get_parameter_comment (param), param.direction, false, false, 
param.ellipsis || param.params_array);
 
                                write_implicit_params (param.variable_type, ref index, get_ccode_array_length 
(param), param.name, param.direction);
                        }
 
                        if (ret_is_struct) {
                                // struct returns are converted to parameters
-                               write_param_or_return (return_type, true, ref index, false, "result", 
return_comment, ParameterDirection.OUT, constructor, true);
+                               write_param_or_return (return_type, "parameter", ref index, false, "result", 
return_comment, ParameterDirection.OUT, constructor, true);
                        } else {
                                write_implicit_params (return_type, ref index, return_array_length, "result", 
ParameterDirection.OUT);
                        }
@@ -1353,12 +1355,7 @@ public class Vala.GIRWriter : CodeVisitor {
                        write_doc (get_method_comment (m));
                }
 
-               DataType instance_type = null;
-               if (instance) {
-                       instance_type = SemanticAnalyzer.get_data_type_for_symbol (m.parent_symbol);
-               }
-
-               write_params_and_return (params, m.get_type_parameters (), return_type, 
get_ccode_array_length (m), return_comment, false, instance_type);
+               write_params_and_return (params, m.get_type_parameters (), return_type, 
get_ccode_array_length (m), return_comment, false, m.this_parameter);
 
                indent--;
                write_indent ();
@@ -1503,9 +1500,8 @@ public class Vala.GIRWriter : CodeVisitor {
        }
 
 
-       private void write_param_or_return (DataType? type, bool is_parameter, ref int index, bool 
has_array_length, string? name = null, string? comment = null, ParameterDirection direction = 
ParameterDirection.IN, bool constructor = false, bool caller_allocates = false, bool ellipsis = false) {
+       private void write_param_or_return (DataType? type, string tag, ref int index, bool has_array_length, 
string? name = null, string? comment = null, ParameterDirection direction = ParameterDirection.IN, bool 
constructor = false, bool caller_allocates = false, bool ellipsis = false) {
                write_indent ();
-               string tag = is_parameter ? "parameter" : "return-value";
                buffer.append_printf ("<%s", tag);
                if (ellipsis) {
                        name = "...";
@@ -1545,7 +1541,7 @@ public class Vala.GIRWriter : CodeVisitor {
                }
 
                if (delegate_type != null && delegate_type.delegate_symbol.has_target) {
-                       int closure_index = is_parameter ?
+                       int closure_index = tag == "parameter" ?
                                index + 1 : (type.value_owned ? index - 1 : index);
                        buffer.append_printf (" closure=\"%i\"", closure_index);
                        if (delegate_type.is_called_once) {
@@ -1570,7 +1566,7 @@ public class Vala.GIRWriter : CodeVisitor {
                } else if (type != null) {
                        int length_param_index = -1;
                        if (has_array_length) {
-                               length_param_index = is_parameter ? index + 1 : index;
+                               length_param_index = tag == "parameter" ? index + 1 : index;
                        }
                        write_type (type, length_param_index, direction);
                }
diff --git a/tests/girwriter/GirTest-1.0.gir-expected b/tests/girwriter/GirTest-1.0.gir-expected
index 06105bbaf..75a6c51d0 100644
--- a/tests/girwriter/GirTest-1.0.gir-expected
+++ b/tests/girwriter/GirTest-1.0.gir-expected
@@ -55,12 +55,20 @@
                        <return-value transfer-ownership="none">
                                <type name="utf8" c:type="const gchar*"/>
                        </return-value>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.TypeTest" c:type="GirTestTypeTest*"/>
+                               </instance-parameter>
+                       </parameters>
                </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>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.TypeTest" c:type="GirTestTypeTest*"/>
+                               </instance-parameter>
                                <parameter name="value" transfer-ownership="none">
                                        <type name="utf8" c:type="const gchar*"/>
                                </parameter>
@@ -241,6 +249,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint8" c:type="gint8"/>
                                </parameter>
@@ -251,6 +262,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint8" c:type="gint8"/>
                                </parameter>
@@ -261,6 +275,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint8" c:type="gint8"/>
                                </parameter>
@@ -271,6 +288,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint8" c:type="gint8"/>
                                </parameter>
@@ -281,6 +301,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint8" c:type="gint8"/>
                                </parameter>
@@ -291,6 +314,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" direction="out" transfer-ownership="full">
                                        <type name="gint8" c:type="gint8*"/>
                                </parameter>
@@ -300,12 +326,20 @@
                        <return-value transfer-ownership="full">
                                <type name="none" c:type="void"/>
                        </return-value>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
+                       </parameters>
                </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>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -319,6 +353,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -332,6 +369,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="array" transfer-ownership="none">
                                        <array length="1" c:type="gint*">
                                                <type name="gint" c:type="gint"/>
@@ -347,6 +387,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="array" direction="inout" transfer-ownership="full">
                                        <array length="1" c:type="gint**">
                                                <type name="gint" c:type="gint"/>
@@ -362,6 +405,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="array" direction="out" transfer-ownership="full">
                                        <array length="1" c:type="gint**">
                                                <type name="gint" c:type="gint"/>
@@ -379,6 +425,9 @@
                                </array>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="result_length1" direction="out" transfer-ownership="none">
                                        <type name="gint" c:type="gint*"/>
                                </parameter>
@@ -389,6 +438,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param1" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -412,6 +464,9 @@
                                </array>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param1" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -428,6 +483,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="array" direction="out" transfer-ownership="full">
                                        <array length="1" c:type="gchar***">
                                                <type name="utf8" c:type="gchar*"/>
@@ -445,6 +503,9 @@
                                </array>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="result_length1" direction="out" transfer-ownership="none">
                                        <type name="gint" c:type="gint*"/>
                                </parameter>
@@ -454,12 +515,20 @@
                        <return-value transfer-ownership="full">
                                <type name="none" c:type="void"/>
                        </return-value>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
+                       </parameters>
                </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>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="result_target" direction="out" transfer-ownership="none" 
allow-none="1">
                                        <type name="gpointer" c:type="void**"/>
                                </parameter>
@@ -473,6 +542,9 @@
                                <type name="GirTest.DelegateTest" c:type="GirTestDelegateTest"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="i1" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -499,6 +571,9 @@
                                </array>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="i1" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -521,6 +596,9 @@
                                <type name="GLib.EqualFunc" c:type="GEqualFunc"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                        </parameters>
                </method>
                <method name="container_return" c:identifier="gir_test_object_test_container_return">
@@ -530,6 +608,9 @@
                                </array>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="result_length1" direction="out" transfer-ownership="none">
                                        <type name="gint" c:type="gint*"/>
                                </parameter>
@@ -541,12 +622,20 @@
                                        <type name="utf8" c:type="const gchar*"/>
                                </array>
                        </return-value>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
+                       </parameters>
                </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>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="_callback_" transfer-ownership="none" allow-none="1" 
closure="1" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
@@ -560,6 +649,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="_res_" transfer-ownership="none">
                                        <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
                                </parameter>
@@ -570,6 +662,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="_callback_" transfer-ownership="none" allow-none="1" 
closure="1" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
@@ -583,6 +678,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="_res_" transfer-ownership="none">
                                        <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
                                </parameter>
@@ -593,6 +691,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="_callback_" transfer-ownership="none" allow-none="1" 
closure="1" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
@@ -606,6 +707,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="_res_" transfer-ownership="none">
                                        <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
                                </parameter>
@@ -616,6 +720,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="i1" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -632,6 +739,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="_res_" transfer-ownership="none">
                                        <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
                                </parameter>
@@ -645,6 +755,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="i1" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -661,6 +774,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="_res_" transfer-ownership="none">
                                        <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
                                </parameter>
@@ -673,22 +789,40 @@
                        <return-value transfer-ownership="full">
                                <type name="none" c:type="void"/>
                        </return-value>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
+                       </parameters>
                </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>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
+                       </parameters>
                </method>
                <virtual-method name="method_throw" invoker="method_throw" throws="1">
                        <return-value transfer-ownership="full">
                                <type name="none" c:type="void"/>
                        </return-value>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
+                       </parameters>
                </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>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="i" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -698,6 +832,11 @@
                        <return-value transfer-ownership="full">
                                <type name="none" c:type="void"/>
                        </return-value>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
+                       </parameters>
                </method>
                <property name="some-property" writable="1" construct="1">
                        <type name="utf8" c:type="gchar*"/>
@@ -706,12 +845,20 @@
                        <return-value transfer-ownership="none">
                                <type name="utf8" c:type="const gchar*"/>
                        </return-value>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
+                       </parameters>
                </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>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="value" transfer-ownership="none">
                                        <type name="utf8" c:type="const gchar*"/>
                                </parameter>
@@ -725,6 +872,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="value" transfer-ownership="none">
                                        <type name="utf8" c:type="const gchar*"/>
                                </parameter>
@@ -740,12 +890,20 @@
                        <return-value transfer-ownership="none">
                                <type name="utf8" c:type="const gchar*"/>
                        </return-value>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
+                       </parameters>
                </method>
                <method name="set_skipped_property" c:identifier="gir_test_object_test_set_skipped_property" 
introspectable="0">
                        <return-value transfer-ownership="none">
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="value" transfer-ownership="none">
                                        <type name="utf8" c:type="const gchar*"/>
                                </parameter>
@@ -792,9 +950,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                        <parameter name="param" transfer-ownership="none">
                                                <type name="gint8" c:type="gint8"/>
                                        </parameter>
@@ -807,9 +965,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                        <parameter name="param" transfer-ownership="none">
                                                <type name="gint8" c:type="gint8"/>
                                        </parameter>
@@ -822,10 +980,10 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-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">
+                                       </instance-parameter>
+                                       <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">
@@ -840,9 +998,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                        <parameter name="_res_" transfer-ownership="none">
                                                <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
                                        </parameter>
@@ -855,13 +1013,13 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
-                                       </parameter>
+                                       </instance-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">
+                                       <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">
@@ -876,9 +1034,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                        <parameter name="_res_" transfer-ownership="none">
                                                <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
                                        </parameter>
@@ -894,9 +1052,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                </parameters>
                        </callback>
                </field>
@@ -906,6 +1064,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
+                                       <instance-parameter name="self" transfer-ownership="none">
+                                               <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
+                                       </instance-parameter>
                                        <parameter name="i1" transfer-ownership="none">
                                                <type name="gint" c:type="gint"/>
                                        </parameter>
@@ -926,6 +1087,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint8" c:type="gint8"/>
                                </parameter>
@@ -936,6 +1100,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint8" c:type="gint8"/>
                                </parameter>
@@ -946,6 +1113,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" direction="inout" transfer-ownership="full">
                                        <type name="gint8" c:type="gint8*"/>
                                </parameter>
@@ -956,6 +1126,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" direction="inout" transfer-ownership="full">
                                        <type name="gint8" c:type="gint8*"/>
                                </parameter>
@@ -966,6 +1139,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" direction="out" transfer-ownership="full">
                                        <type name="gint8" c:type="gint8*"/>
                                </parameter>
@@ -976,6 +1152,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" direction="out" transfer-ownership="full">
                                        <type name="gint8" c:type="gint8*"/>
                                </parameter>
@@ -985,17 +1164,30 @@
                        <return-value transfer-ownership="full">
                                <type name="none" c:type="void"/>
                        </return-value>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
+                               </instance-parameter>
+                       </parameters>
                </method>
                <virtual-method name="method_throw" invoker="method_throw" throws="1">
                        <return-value transfer-ownership="full">
                                <type name="none" c:type="void"/>
                        </return-value>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
+                               </instance-parameter>
+                       </parameters>
                </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>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -1009,6 +1201,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -1022,6 +1217,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -1038,6 +1236,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="_res_" transfer-ownership="none">
                                        <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
                                </parameter>
@@ -1048,6 +1249,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -1064,6 +1268,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="_res_" transfer-ownership="none">
                                        <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
                                </parameter>
@@ -1074,6 +1281,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint8" c:type="gint8"/>
                                </parameter>
@@ -1084,6 +1294,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint8" c:type="gint8"/>
                                </parameter>
@@ -1100,9 +1313,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                        <parameter name="param" transfer-ownership="none">
                                                <type name="gint8" c:type="gint8"/>
                                        </parameter>
@@ -1115,9 +1328,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                        <parameter name="param" direction="inout" transfer-ownership="full">
                                                <type name="gint8" c:type="gint8*"/>
                                        </parameter>
@@ -1130,9 +1343,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                        <parameter name="param" direction="out" transfer-ownership="full">
                                                <type name="gint8" c:type="gint8*"/>
                                        </parameter>
@@ -1145,9 +1358,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                </parameters>
                        </callback>
                </field>
@@ -1157,9 +1370,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                        <parameter name="param" transfer-ownership="none">
                                                <type name="gint" c:type="gint"/>
                                        </parameter>
@@ -1175,13 +1388,13 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
-                                       </parameter>
+                                       </instance-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">
+                                       <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">
@@ -1196,9 +1409,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                        <parameter name="_res_" transfer-ownership="none">
                                                <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
                                        </parameter>
@@ -1211,9 +1424,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.AbstractObjectTest" 
c:type="GirTestAbstractObjectTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                        <parameter name="param" transfer-ownership="none">
                                                <type name="gint8" c:type="gint8"/>
                                        </parameter>
@@ -1388,6 +1601,12 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.GenericsTest" c:type="GirTestGenericsTest*">
+                                               <type name="gpointer" c:type="gpointer"/>
+                                               <type name="gpointer" c:type="gpointer"/>
+                                       </type>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none" allow-none="1">
                                        <type name="gpointer" c:type="gpointer"/>
                                </parameter>
@@ -1430,6 +1649,12 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.GenericsObjectTest" 
c:type="GirTestGenericsObjectTest*">
+                                               <type name="gpointer" c:type="gpointer"/>
+                                               <type name="gpointer" c:type="gpointer"/>
+                                       </type>
+                               </instance-parameter>
                                <parameter name="k_type" transfer-ownership="none">
                                        <type name="GType" c:type="GType"/>
                                </parameter>
@@ -1491,6 +1716,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint8" c:type="gint8"/>
                                </parameter>
@@ -1501,6 +1729,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint8" c:type="gint8"/>
                                </parameter>
@@ -1511,6 +1742,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+                               </instance-parameter>
                                <parameter name="_callback_" transfer-ownership="none" allow-none="1" 
closure="1" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
@@ -1524,6 +1758,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+                               </instance-parameter>
                                <parameter name="_res_" transfer-ownership="none">
                                        <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
                                </parameter>
@@ -1534,6 +1771,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+                               </instance-parameter>
                                <parameter name="_callback_" transfer-ownership="none" allow-none="1" 
closure="1" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
@@ -1547,6 +1787,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+                               </instance-parameter>
                                <parameter name="_res_" transfer-ownership="none">
                                        <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
                                </parameter>
@@ -1557,6 +1800,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -1570,6 +1816,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -1583,6 +1832,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -1599,6 +1851,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+                               </instance-parameter>
                                <parameter name="_res_" transfer-ownership="none">
                                        <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
                                </parameter>
@@ -1609,6 +1864,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+                               </instance-parameter>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -1625,6 +1883,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+                               </instance-parameter>
                                <parameter name="_res_" transfer-ownership="none">
                                        <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
                                </parameter>
@@ -1634,11 +1895,21 @@
                        <return-value transfer-ownership="full">
                                <type name="none" c:type="void"/>
                        </return-value>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+                               </instance-parameter>
+                       </parameters>
                </method>
                <virtual-method name="internal_method" invoker="internal_method">
                        <return-value transfer-ownership="full">
                                <type name="none" c:type="void"/>
                        </return-value>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+                               </instance-parameter>
+                       </parameters>
                </virtual-method>
                <property name="property" writable="1" construct="1">
                        <type name="gint" c:type="gint"/>
@@ -1647,17 +1918,30 @@
                        <return-value transfer-ownership="none">
                                <type name="gint" c:type="gint"/>
                        </return-value>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+                               </instance-parameter>
+                       </parameters>
                </method>
                <virtual-method name="get_property" invoker="get_property">
                        <return-value transfer-ownership="none">
                                <type name="gint" c:type="gint"/>
                        </return-value>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+                               </instance-parameter>
+                       </parameters>
                </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>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+                               </instance-parameter>
                                <parameter name="value" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -1668,6 +1952,9 @@
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
+                               <instance-parameter name="self" transfer-ownership="none">
+                                       <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+                               </instance-parameter>
                                <parameter name="value" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
@@ -1684,9 +1971,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.InterfaceTest" 
c:type="GirTestInterfaceTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                        <parameter name="param" transfer-ownership="none">
                                                <type name="gint8" c:type="gint8"/>
                                        </parameter>
@@ -1699,10 +1986,10 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-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">
+                                       </instance-parameter>
+                                       <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">
@@ -1717,9 +2004,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.InterfaceTest" 
c:type="GirTestInterfaceTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                        <parameter name="_res_" transfer-ownership="none">
                                                <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
                                        </parameter>
@@ -1732,9 +2019,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.InterfaceTest" 
c:type="GirTestInterfaceTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                        <parameter name="param" transfer-ownership="none">
                                                <type name="gint" c:type="gint"/>
                                        </parameter>
@@ -1750,13 +2037,13 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.InterfaceTest" 
c:type="GirTestInterfaceTest*"/>
-                                       </parameter>
+                                       </instance-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">
+                                       <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">
@@ -1771,9 +2058,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.InterfaceTest" 
c:type="GirTestInterfaceTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                        <parameter name="_res_" transfer-ownership="none">
                                                <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
                                        </parameter>
@@ -1786,9 +2073,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.InterfaceTest" 
c:type="GirTestInterfaceTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                </parameters>
                        </callback>
                </field>
@@ -1798,9 +2085,9 @@
                                        <type name="gint" c:type="gint"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.InterfaceTest" 
c:type="GirTestInterfaceTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                </parameters>
                        </callback>
                </field>
@@ -1810,9 +2097,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.InterfaceTest" 
c:type="GirTestInterfaceTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                        <parameter name="value" transfer-ownership="none">
                                                <type name="gint" c:type="gint"/>
                                        </parameter>
@@ -1825,9 +2112,9 @@
                                        <type name="utf8" c:type="const gchar*"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.InterfaceTest" 
c:type="GirTestInterfaceTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                </parameters>
                        </callback>
                </field>
@@ -1837,9 +2124,9 @@
                                        <type name="none" c:type="void"/>
                                </return-value>
                                <parameters>
-                                       <parameter name="self" transfer-ownership="none">
+                                       <instance-parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.InterfaceTest" 
c:type="GirTestInterfaceTest*"/>
-                                       </parameter>
+                                       </instance-parameter>
                                        <parameter name="value" transfer-ownership="none">
                                                <type name="utf8" c:type="const gchar*"/>
                                        </parameter>
@@ -1883,6 +2170,11 @@
                        <return-value transfer-ownership="full">
                                <type name="none" c:type="void"/>
                        </return-value>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none" allow-none="1">
+                                       <type name="GirTest.BoxedStruct" c:type="GirTestBoxedStruct*"/>
+                               </instance-parameter>
+                       </parameters>
                </method>
        </record>
        <record name="Struct" c:type="GirTestStruct" c:symbol-prefix="struct">
@@ -1906,6 +2198,11 @@
                        <return-value transfer-ownership="full">
                                <type name="none" c:type="void"/>
                        </return-value>
+                       <parameters>
+                               <instance-parameter name="self" transfer-ownership="none" allow-none="1">
+                                       <type name="GirTest.Struct" c:type="GirTestStruct*"/>
+                               </instance-parameter>
+                       </parameters>
                </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">


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]