summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--girepository/girparser.c5
-rw-r--r--giscanner/girparser.py26
-rw-r--r--giscanner/girwriter.py18
-rw-r--r--tests/scanner/Annotation-1.0-expected.gir136
-rw-r--r--tests/scanner/Bar-1.0-expected.gir3
-rw-r--r--tests/scanner/Foo-1.0-expected.gir121
-rw-r--r--tests/scanner/GetType-1.0-expected.gir6
-rw-r--r--tests/scanner/Regress-1.0-expected.gir162
-rw-r--r--tests/scanner/TestInherit-1.0-expected.gir12
-rw-r--r--tests/scanner/Utility-1.0-expected.gir3
10 files changed, 474 insertions, 18 deletions
diff --git a/girepository/girparser.c b/girepository/girparser.c
index d1bc81f5..5aaa6dd0 100644
--- a/girepository/girparser.c
+++ b/girepository/girparser.c
@@ -2831,6 +2831,11 @@ start_element_handler (GMarkupParseContext *context,
attribute_names, attribute_values,
ctx, error))
goto out;
+ else if (strcmp (element_name, "instance-parameter") == 0)
+ {
+ state_switch (ctx, STATE_PASSTHROUGH);
+ goto out;
+ }
else if (strcmp (element_name, "c:include") == 0)
{
state_switch (ctx, STATE_C_INCLUDE);
diff --git a/giscanner/girparser.py b/giscanner/girparser.py
index ea8b0d6d..bd259b87 100644
--- a/giscanner/girparser.py
+++ b/giscanner/girparser.py
@@ -286,6 +286,18 @@ class GIRParser(object):
function = self._parse_function_common(node, ast.Function)
self._namespace.append(function)
+ def _parse_parameter(self, node):
+ typeval = self._parse_type(node)
+ param = ast.Parameter(node.attrib.get('name'),
+ typeval,
+ node.attrib.get('direction') or ast.PARAM_DIRECTION_IN,
+ node.attrib.get('transfer-ownership'),
+ node.attrib.get('allow-none') == '1',
+ node.attrib.get('scope'),
+ node.attrib.get('caller-allocates') == '1')
+ self._parse_generic_attribs(node, param)
+ return param
+
def _parse_function_common(self, node, klass, parent=None):
name = node.attrib['name']
returnnode = node.find(_corens('return-value'))
@@ -323,17 +335,11 @@ class GIRParser(object):
parameters_node = node.find(_corens('parameters'))
if (parameters_node is not None):
+ paramnode = self._find_first_child(parameters_node, _corens('instance-parameter'))
+ if paramnode:
+ func.instance_parameter = self._parse_parameter(paramnode)
for paramnode in self._find_children(parameters_node, _corens('parameter')):
- typeval = self._parse_type(paramnode)
- param = ast.Parameter(paramnode.attrib.get('name'),
- typeval,
- paramnode.attrib.get('direction') or ast.PARAM_DIRECTION_IN,
- paramnode.attrib.get('transfer-ownership'),
- paramnode.attrib.get('allow-none') == '1',
- paramnode.attrib.get('scope'),
- paramnode.attrib.get('caller-allocates') == '1')
- self._parse_generic_attribs(paramnode, param)
- parameters.append(param)
+ parameters.append(self._parse_parameter(paramnode))
for i, paramnode in enumerate(self._find_children(parameters_node,
_corens('parameter'))):
param = parameters[i]
diff --git a/giscanner/girwriter.py b/giscanner/girwriter.py
index e9910d47..c54a5389 100644
--- a/giscanner/girwriter.py
+++ b/giscanner/girwriter.py
@@ -170,7 +170,7 @@ and/or use gtk-doc annotations. ''')
with self.tagcontext(tag_name, attrs):
self._write_generic(callable)
self._write_return_type(callable.retval, parent=callable)
- self._write_parameters(callable, callable.parameters)
+ self._write_parameters(callable)
def _write_function(self, func, tag_name='function'):
attrs = []
@@ -206,14 +206,16 @@ and/or use gtk-doc annotations. ''')
self._write_generic(return_)
self._write_type(return_.type, function=parent)
- def _write_parameters(self, parent, parameters):
- if not parameters:
+ def _write_parameters(self, callable):
+ if not callable.parameters and callable.instance_parameter is None:
return
with self.tagcontext('parameters'):
- for parameter in parameters:
- self._write_parameter(parent, parameter)
+ if callable.instance_parameter:
+ self._write_parameter(callable, callable.instance_parameter, 'instance-parameter')
+ for parameter in callable.parameters:
+ self._write_parameter(callable, parameter)
- def _write_parameter(self, parent, parameter):
+ def _write_parameter(self, parent, parameter, nodename='parameter'):
attrs = []
if parameter.argname is not None:
attrs.append(('name', parameter.argname))
@@ -236,7 +238,7 @@ and/or use gtk-doc annotations. ''')
attrs.append(('destroy', '%d' % (idx, )))
if parameter.skip:
attrs.append(('skip', '1'))
- with self.tagcontext('parameter', attrs):
+ with self.tagcontext(nodename, attrs):
self._write_generic(parameter)
self._write_type(parameter.type, function=parent)
@@ -585,4 +587,4 @@ and/or use gtk-doc annotations. ''')
with self.tagcontext('glib:signal', attrs):
self._write_generic(signal)
self._write_return_type(signal.retval)
- self._write_parameters(signal, signal.parameters)
+ self._write_parameters(signal)
diff --git a/tests/scanner/Annotation-1.0-expected.gir b/tests/scanner/Annotation-1.0-expected.gir
index 0be91d6d..bc0ae090 100644
--- a/tests/scanner/Annotation-1.0-expected.gir
+++ b/tests/scanner/Annotation-1.0-expected.gir
@@ -114,6 +114,10 @@ and/or use gtk-doc annotations. -->
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="somearg" transfer-ownership="none" allow-none="1">
<type name="utf8" c:type="const gchar*"/>
</parameter>
@@ -126,6 +130,10 @@ and/or use gtk-doc annotations. -->
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="toown"
direction="out"
caller-allocates="0"
@@ -142,6 +150,10 @@ and/or use gtk-doc annotations. -->
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="toown1"
direction="out"
caller-allocates="0"
@@ -164,6 +176,10 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="nums" transfer-ownership="none">
<doc xml:whitespace="preserve">Sequence of numbers</doc>
<array zero-terminated="0" c:type="int*">
@@ -179,6 +195,10 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="nums" transfer-ownership="none">
<doc xml:whitespace="preserve">Sequence of numbers that are zero-terminated</doc>
<array length="1" zero-terminated="0" c:type="int*">
@@ -198,6 +218,10 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #AnnotationObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="nums" transfer-ownership="none">
<doc xml:whitespace="preserve">Sequence of numbers that are zero-terminated</doc>
<array length="1" zero-terminated="1" c:type="int*">
@@ -217,6 +241,12 @@ and/or use gtk-doc annotations. -->
<doc xml:whitespace="preserve">The object</doc>
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="do_not_use"
c:identifier="annotation_object_do_not_use"
@@ -226,12 +256,23 @@ and/or use gtk-doc annotations. -->
<doc xml:whitespace="preserve">%NULL always</doc>
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="extra_annos" c:identifier="annotation_object_extra_annos">
<attribute name="org.foobar" value="testvalue"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="foreach" c:identifier="annotation_object_foreach">
<doc xml:whitespace="preserve">Test taking a call-scoped callback</doc>
@@ -239,6 +280,10 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #AnnotationObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="func"
transfer-ownership="none"
scope="call"
@@ -262,6 +307,12 @@ objects.</doc>
<type name="GObject.Object"/>
</type>
</return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="get_objects" c:identifier="annotation_object_get_objects">
<doc xml:whitespace="preserve">This is a test for returning a list of objects.
@@ -273,6 +324,12 @@ intentionally similar example to gtk_container_get_children</doc>
<type name="Object"/>
</type>
</return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="get_strings" c:identifier="annotation_object_get_strings">
<doc xml:whitespace="preserve">This is a test for returning a list of strings, where
@@ -283,11 +340,23 @@ each string needs to be freed.</doc>
<type name="utf8"/>
</type>
</return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="hidden_self" c:identifier="annotation_object_hidden_self">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #AnnotationObject</doc>
+ <type name="Object" c:type="gpointer"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="in" c:identifier="annotation_object_in">
<doc xml:whitespace="preserve">This is a test for in arguments</doc>
@@ -296,6 +365,10 @@ each string needs to be freed.</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="inarg" transfer-ownership="none">
<doc xml:whitespace="preserve">This is an argument test</doc>
<type name="gint" c:type="int*"/>
@@ -309,6 +382,10 @@ each string needs to be freed.</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="inoutarg"
direction="inout"
caller-allocates="0"
@@ -325,6 +402,10 @@ each string needs to be freed.</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="inoutarg"
direction="inout"
caller-allocates="0"
@@ -341,6 +422,10 @@ each string needs to be freed.</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="inoutarg"
direction="inout"
caller-allocates="0"
@@ -356,12 +441,24 @@ each string needs to be freed.</doc>
<doc xml:whitespace="preserve">an int</doc>
<type name="gint" c:type="gint"/>
</return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="notrans" c:identifier="annotation_object_notrans">
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">An object, not referenced</doc>
<type name="GObject.Object" c:type="GObject*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="out" c:identifier="annotation_object_out">
<doc xml:whitespace="preserve">This is a test for out arguments</doc>
@@ -370,6 +467,10 @@ each string needs to be freed.</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="outarg"
direction="out"
caller-allocates="0"
@@ -385,6 +486,10 @@ each string needs to be freed.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #AnnotationObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="argc"
direction="inout"
caller-allocates="0"
@@ -409,6 +514,10 @@ each string needs to be freed.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #AnnotationObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:whitespace="preserve">The data</doc>
<array length="1" zero-terminated="0" c:type="guchar*">
@@ -427,6 +536,10 @@ each string needs to be freed.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #AnnotationObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:whitespace="preserve">The data</doc>
<array length="1" zero-terminated="0" c:type="gchar*">
@@ -446,6 +559,10 @@ type.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #AnnotationObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:whitespace="preserve">The data</doc>
<array length="1" zero-terminated="0" c:type="gpointer">
@@ -465,6 +582,10 @@ type.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #AnnotationObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="str_out"
direction="out"
caller-allocates="0"
@@ -479,6 +600,10 @@ type.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #GObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="bytes" transfer-ownership="none">
<type name="guint8" c:type="guchar*"/>
</parameter>
@@ -494,6 +619,10 @@ annotation_object_watch_full().</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #AnnotationObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="func" transfer-ownership="none" closure="1">
<doc xml:whitespace="preserve">The callback</doc>
<type name="ForeachFunc" c:type="AnnotationForeachFunc"/>
@@ -512,6 +641,10 @@ annotation_object_watch_full().</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #AnnotationObject</doc>
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="func"
transfer-ownership="none"
scope="notified"
@@ -535,6 +668,9 @@ annotation_object_watch_full().</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="AnnotationObject*"/>
+ </instance-parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:whitespace="preserve">Opaque pointer handle</doc>
<type name="gpointer" c:type="void*"/>
diff --git a/tests/scanner/Bar-1.0-expected.gir b/tests/scanner/Bar-1.0-expected.gir
index 392a3031..ef92fcc4 100644
--- a/tests/scanner/Bar-1.0-expected.gir
+++ b/tests/scanner/Bar-1.0-expected.gir
@@ -44,6 +44,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <type name="MutterWindow" c:type="MutterWindow*"/>
+ </instance-parameter>
<parameter name="v" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
diff --git a/tests/scanner/Foo-1.0-expected.gir b/tests/scanner/Foo-1.0-expected.gir
index 048ed42f..bfab2661 100644
--- a/tests/scanner/Foo-1.0-expected.gir
+++ b/tests/scanner/Foo-1.0-expected.gir
@@ -66,6 +66,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="b1" transfer-ownership="none">
+ <type name="BRect" c:type="FooBRect*"/>
+ </instance-parameter>
<parameter name="b2" transfer-ownership="none">
<type name="BRect" c:type="FooBRect*"/>
</parameter>
@@ -96,6 +99,11 @@ and/or use gtk-doc annotations. -->
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
+ <parameters>
+ <instance-parameter name="bunion" transfer-ownership="none">
+ <type name="BUnion" c:type="FooBUnion*"/>
+ </instance-parameter>
+ </parameters>
</method>
</union>
<record name="Boxed"
@@ -112,6 +120,11 @@ and/or use gtk-doc annotations. -->
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="boxed" transfer-ownership="none">
+ <type name="Boxed" c:type="FooBoxed*"/>
+ </instance-parameter>
+ </parameters>
</method>
</record>
<class name="Buffer"
@@ -126,6 +139,11 @@ and/or use gtk-doc annotations. -->
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <type name="Buffer" c:type="FooBuffer*"/>
+ </instance-parameter>
+ </parameters>
</method>
</class>
<record name="BufferClass"
@@ -158,6 +176,11 @@ and/or use gtk-doc annotations. -->
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="dbusdata" transfer-ownership="none">
+ <type name="DBusData" c:type="FooDBusData*"/>
+ </instance-parameter>
+ </parameters>
</method>
</record>
<constant name="DEFINE_SHOULD_BE_EXPOSED"
@@ -314,6 +337,11 @@ and/or use gtk-doc annotations. -->
<return-value transfer-ownership="full">
<type name="ForeignStruct" c:type="FooForeignStruct*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="original" transfer-ownership="none">
+ <type name="ForeignStruct" c:type="FooForeignStruct*"/>
+ </instance-parameter>
+ </parameters>
</method>
</record>
<interface name="Interface"
@@ -338,6 +366,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Interface" c:type="FooInterface*"/>
+ </instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -348,6 +379,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="iface" transfer-ownership="none">
+ <type name="Interface" c:type="FooInterface*"/>
+ </instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -424,6 +458,9 @@ uses a C sugar return type.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="offset" transfer-ownership="none">
<doc xml:whitespace="preserve">offset</doc>
<type name="gint" c:type="int"/>
@@ -439,6 +476,9 @@ uses a C sugar return type.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="first_param" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -451,6 +491,9 @@ uses a C sugar return type.</doc>
<type name="OtherObject" c:type="FooOtherObject*"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -460,23 +503,42 @@ uses a C sugar return type.</doc>
<return-value transfer-ownership="full">
<type name="utf8" c:type="char*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="external_type" c:identifier="foo_object_external_type">
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">%NULL always</doc>
<type name="Utility.Object" c:type="UtilityObject*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #FooObject</doc>
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="get_name" c:identifier="foo_object_get_name">
<return-value transfer-ownership="none">
<type name="utf8" c:type="const char*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="handle_glyph" c:identifier="foo_object_handle_glyph">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="glyph" transfer-ownership="none">
<type name="Utility.Glyph" c:type="UtilityGlyph"/>
</parameter>
@@ -487,6 +549,9 @@ uses a C sugar return type.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="time" transfer-ownership="none">
<type name="glong" c:type="time_t"/>
</parameter>
@@ -500,6 +565,9 @@ uses a C sugar return type.</doc>
<type name="ObjectCookie" c:type="FooObjectCookie"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="target" transfer-ownership="none">
<type name="utf8" c:type="const char*"/>
</parameter>
@@ -511,6 +579,10 @@ uses a C sugar return type.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">obj</doc>
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="offset" transfer-ownership="none">
<doc xml:whitespace="preserve">offset</doc>
<type name="gint" c:type="int"/>
@@ -528,6 +600,12 @@ uses a C sugar return type.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:whitespace="preserve">obj</doc>
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="take_all"
c:identifier="foo_object_take_all"
@@ -536,6 +614,9 @@ uses a C sugar return type.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -550,6 +631,9 @@ uses a C sugar return type.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="data" transfer-ownership="none">
<type name="gpointer" c:type="void*"/>
</parameter>
@@ -563,6 +647,9 @@ uses a C sugar return type.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="first_param" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -682,6 +769,13 @@ uses a C sugar return type.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="r1"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">add to this rect</doc>
+ <type name="Rectangle" c:type="FooRectangle*"/>
+ </instance-parameter>
<parameter name="r2" transfer-ownership="none">
<doc xml:whitespace="preserve">source rectangle</doc>
<type name="Rectangle" c:type="const FooRectangle*"/>
@@ -768,17 +862,30 @@ exposed to language bindings.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="SubInterface" c:type="FooSubInterface*"/>
+ </instance-parameter>
+ </parameters>
</virtual-method>
<virtual-method name="do_bar" invoker="do_bar">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="SubInterface" c:type="FooSubInterface*"/>
+ </instance-parameter>
+ </parameters>
</virtual-method>
<virtual-method name="do_baz" invoker="do_baz">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="SubInterface" c:type="FooSubInterface*"/>
+ </instance-parameter>
<parameter name="callback"
transfer-ownership="none"
scope="call"
@@ -795,6 +902,9 @@ exposed to language bindings.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="SubInterface" c:type="FooSubInterface*"/>
+ </instance-parameter>
<parameter transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -807,12 +917,20 @@ exposed to language bindings.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="SubInterface" c:type="FooSubInterface*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="do_baz" c:identifier="foo_sub_interface_do_baz">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="SubInterface" c:type="FooSubInterface*"/>
+ </instance-parameter>
<parameter name="callback"
transfer-ownership="none"
scope="call"
@@ -829,6 +947,9 @@ exposed to language bindings.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="SubInterface" c:type="FooSubInterface*"/>
+ </instance-parameter>
<parameter transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
diff --git a/tests/scanner/GetType-1.0-expected.gir b/tests/scanner/GetType-1.0-expected.gir
index 3b1dd193..872ebe42 100644
--- a/tests/scanner/GetType-1.0-expected.gir
+++ b/tests/scanner/GetType-1.0-expected.gir
@@ -53,6 +53,12 @@ arguments.</doc>
<doc xml:whitespace="preserve">0</doc>
<type name="GType" c:type="GType"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">self</doc>
+ <type name="Object" c:type="GetTypeObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index f3f9a034..e5f9e3bb 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -212,12 +212,20 @@ use it should be.</doc>
<return-value transfer-ownership="full">
<type name="TestBoxed" c:type="RegressTestBoxed*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="boxed" transfer-ownership="none">
+ <type name="TestBoxed" c:type="RegressTestBoxed*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="equals" c:identifier="regress_test_boxed_equals">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="boxed" transfer-ownership="none">
+ <type name="TestBoxed" c:type="RegressTestBoxed*"/>
+ </instance-parameter>
<parameter name="other" transfer-ownership="none">
<type name="TestBoxed" c:type="RegressTestBoxed*"/>
</parameter>
@@ -252,6 +260,11 @@ use it should be.</doc>
<return-value transfer-ownership="full">
<type name="TestBoxedB" c:type="RegressTestBoxedB*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="boxed" transfer-ownership="none">
+ <type name="TestBoxedB" c:type="RegressTestBoxedB*"/>
+ </instance-parameter>
+ </parameters>
</method>
</record>
<record name="TestBoxedC"
@@ -293,16 +306,31 @@ use it should be.</doc>
<return-value transfer-ownership="full">
<type name="TestBoxedD" c:type="RegressTestBoxedD*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="boxed" transfer-ownership="none">
+ <type name="TestBoxedD" c:type="RegressTestBoxedD*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="free" c:identifier="regress_test_boxed_d_free">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="boxed" transfer-ownership="none">
+ <type name="TestBoxedD" c:type="RegressTestBoxedD*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="get_magic" c:identifier="regress_test_boxed_d_get_magic">
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
+ <parameters>
+ <instance-parameter name="boxed" transfer-ownership="none">
+ <type name="TestBoxedD" c:type="RegressTestBoxedD*"/>
+ </instance-parameter>
+ </parameters>
</method>
</record>
<record name="TestBoxedPrivate"
@@ -569,12 +597,26 @@ use it should be.</doc>
<type name="TestFundamentalObject"
c:type="RegressTestFundamentalObject*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="fundamental_object"
+ transfer-ownership="none">
+ <type name="TestFundamentalObject"
+ c:type="RegressTestFundamentalObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="unref"
c:identifier="regress_test_fundamental_object_unref">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="fundamental_object"
+ transfer-ownership="none">
+ <type name="TestFundamentalObject"
+ c:type="RegressTestFundamentalObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<field name="instance">
<type name="GObject.TypeInstance" c:type="GTypeInstance"/>
@@ -778,6 +820,9 @@ use it should be.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="two" transfer-ownership="none" allow-none="1">
<doc xml:whitespace="preserve">Another object</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
@@ -792,6 +837,9 @@ case.</doc>
<type name="gint" c:type="int"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="somestr" transfer-ownership="none">
<doc xml:whitespace="preserve">Meaningless string</doc>
<type name="utf8" c:type="const char*"/>
@@ -806,6 +854,10 @@ case.</doc>
<type name="gint" c:type="int"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #RegressTestObj</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="somestr" transfer-ownership="none">
<doc xml:whitespace="preserve">Meaningless string</doc>
<type name="utf8" c:type="const char*"/>
@@ -817,35 +869,66 @@ case.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="emit_sig_with_int64"
c:identifier="regress_test_obj_emit_sig_with_int64">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="emit_sig_with_obj"
c:identifier="regress_test_obj_emit_sig_with_obj">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="emit_sig_with_uint64"
c:identifier="regress_test_obj_emit_sig_with_uint64">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="forced_method" c:identifier="regress_forced_method">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #RegressTestObj</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="instance_method"
c:identifier="regress_test_obj_instance_method">
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="instance_method_callback"
c:identifier="regress_test_obj_instance_method_callback">
@@ -853,6 +936,9 @@ case.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="callback"
transfer-ownership="none"
allow-none="1"
@@ -866,6 +952,9 @@ case.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="bare" transfer-ownership="none" allow-none="1">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
@@ -880,6 +969,10 @@ case.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #RegressTestObj.</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="a" transfer-ownership="none">
<doc xml:whitespace="preserve">Parameter.</doc>
<type name="gint" c:type="gint"/>
@@ -929,6 +1022,10 @@ case.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #RegressTestObj.</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="a" transfer-ownership="none">
<doc xml:whitespace="preserve">Parameter.</doc>
<type name="gint" c:type="gint"/>
@@ -978,6 +1075,10 @@ case.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #RegressTestObj.</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="a" transfer-ownership="none">
<doc xml:whitespace="preserve">Parameter.</doc>
<type name="gint" c:type="gint"/>
@@ -1026,6 +1127,10 @@ case.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #RegressTestObj</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="a" transfer-ownership="none">
<doc xml:whitespace="preserve">Parameter.</doc>
<type name="gint" c:type="gint"/>
@@ -1075,6 +1180,10 @@ raise an error.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">a #RegressTestObj</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="a" transfer-ownership="none">
<doc xml:whitespace="preserve">Parameter.</doc>
<type name="gint" c:type="gint"/>
@@ -1087,6 +1196,10 @@ raise an error.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #RegressTestObj</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -1124,6 +1237,10 @@ raise an error.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:whitespace="preserve">A #RegressTestObj</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -1507,12 +1624,20 @@ the introspection client langage.</doc>
<return-value transfer-ownership="full">
<type name="TestSimpleBoxedA" c:type="RegressTestSimpleBoxedA*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="a" transfer-ownership="none">
+ <type name="TestSimpleBoxedA" c:type="RegressTestSimpleBoxedA*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="equals" c:identifier="regress_test_simple_boxed_a_equals">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="a" transfer-ownership="none">
+ <type name="TestSimpleBoxedA" c:type="RegressTestSimpleBoxedA*"/>
+ </instance-parameter>
<parameter name="other_a" transfer-ownership="none">
<type name="TestSimpleBoxedA" c:type="RegressTestSimpleBoxedA*"/>
</parameter>
@@ -1541,6 +1666,11 @@ the introspection client langage.</doc>
<return-value transfer-ownership="full">
<type name="TestSimpleBoxedB" c:type="RegressTestSimpleBoxedB*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="b" transfer-ownership="none">
+ <type name="TestSimpleBoxedB" c:type="RegressTestSimpleBoxedB*"/>
+ </instance-parameter>
+ </parameters>
</method>
</record>
<callback name="TestSimpleCallback" c:type="RegressTestSimpleCallback">
@@ -1567,6 +1697,10 @@ the introspection client langage.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="a" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the structure</doc>
+ <type name="TestStructA" c:type="RegressTestStructA*"/>
+ </instance-parameter>
<parameter name="a_out"
direction="out"
caller-allocates="1"
@@ -1608,6 +1742,10 @@ the introspection client langage.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="b" transfer-ownership="none">
+ <doc xml:whitespace="preserve">the structure</doc>
+ <type name="TestStructB" c:type="RegressTestStructB*"/>
+ </instance-parameter>
<parameter name="b_out"
direction="out"
caller-allocates="1"
@@ -1726,6 +1864,12 @@ the introspection client langage.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="str" transfer-ownership="none">
+ <type name="TestStructFixedArray"
+ c:type="RegressTestStructFixedArray*"/>
+ </instance-parameter>
+ </parameters>
</method>
</record>
<class name="TestSubObj"
@@ -1745,11 +1889,21 @@ the introspection client langage.</doc>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestSubObj" c:type="RegressTestSubObj*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="unset_bare" c:identifier="regress_test_sub_obj_unset_bare">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestSubObj" c:type="RegressTestSubObj*"/>
+ </instance-parameter>
+ </parameters>
</method>
<field name="parent_instance">
<type name="TestObj" c:type="RegressTestObj"/>
@@ -1790,6 +1944,11 @@ the introspection client langage.</doc>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestWi8021x" c:type="RegressTestWi8021x*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="set_testbool"
c:identifier="regress_test_wi_802_1x_set_testbool">
@@ -1797,6 +1956,9 @@ the introspection client langage.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestWi8021x" c:type="RegressTestWi8021x*"/>
+ </instance-parameter>
<parameter name="v" transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</parameter>
diff --git a/tests/scanner/TestInherit-1.0-expected.gir b/tests/scanner/TestInherit-1.0-expected.gir
index 6b16ab70..1f1a3286 100644
--- a/tests/scanner/TestInherit-1.0-expected.gir
+++ b/tests/scanner/TestInherit-1.0-expected.gir
@@ -29,6 +29,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="drawable" transfer-ownership="none">
+ <type name="Drawable" c:type="TestInheritDrawable*"/>
+ </instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -41,6 +44,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="drawable" transfer-ownership="none">
+ <type name="Drawable" c:type="TestInheritDrawable*"/>
+ </instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -52,6 +58,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="drawable" transfer-ownership="none">
+ <type name="Drawable" c:type="TestInheritDrawable*"/>
+ </instance-parameter>
<parameter name="x"
direction="out"
caller-allocates="0"
@@ -71,6 +80,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="drawable" transfer-ownership="none">
+ <type name="Drawable" c:type="TestInheritDrawable*"/>
+ </instance-parameter>
<parameter name="width"
direction="out"
caller-allocates="0"
diff --git a/tests/scanner/Utility-1.0-expected.gir b/tests/scanner/Utility-1.0-expected.gir
index 3d738803..1f9f6a7a 100644
--- a/tests/scanner/Utility-1.0-expected.gir
+++ b/tests/scanner/Utility-1.0-expected.gir
@@ -80,6 +80,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="UtilityObject*"/>
+ </instance-parameter>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="const char*"/>
</parameter>