[gobject-introspection] regress: Add Fundamental type with no set/get-value-func's



commit 99bbf61ce531eb5c5900faf8326515d79ff3d8e6
Author: Marco Trevisan (Treviño) <mail 3v1n0 net>
Date:   Thu Apr 8 00:04:58 2021 +0200

    regress: Add Fundamental type with no set/get-value-func's
    
    A fundamental type may or may not provide set and get value functions,
    the regress implementations always provide one, so define a new type
    with no such functions so that we can test this case in Gjs.
    
    To avoid repeating lots of duplicated code, we re-use the same
    functions of RegressTestFundamentalObject when possible, by using the
    same structure.

 ...ess.TestFundamentalObjectNoGetSetFunc-data.page |  16 +
 ...TestFundamentalObjectNoGetSetFunc.get_data.page |  40 +++
 ...ake_compatible_with_fundamental_sub_object.page |  32 ++
 ...ress.TestFundamentalObjectNoGetSetFunc.new.page |  40 +++
 .../Regress.TestFundamentalObjectNoGetSetFunc.page |  52 +++
 ...NoGetSetFuncClass-fundamental_object_class.page |  16 +
 ...ess.TestFundamentalObjectNoGetSetFuncClass.page |  35 ++
 ...s.TestFundamentalSubObjectNoGetSetFunc.new.page |  40 +++
 ...gress.TestFundamentalSubObjectNoGetSetFunc.page |  55 ++++
 ...NoGetSetFuncClass-fundamental_object_class.page |  16 +
 ....TestFundamentalSubObjectNoGetSetFuncClass.page |  35 ++
 ...TestFundamentalObjectNoGetSetFunc.get_data.page |  34 ++
 ...ake_compatible_with_fundamental_sub_object.page |  28 ++
 ...ress.TestFundamentalObjectNoGetSetFunc.new.page |  42 +++
 .../Regress.TestFundamentalObjectNoGetSetFunc.page |  57 ++++
 ...s.TestFundamentalSubObjectNoGetSetFunc.new.page |  42 +++
 ...gress.TestFundamentalSubObjectNoGetSetFunc.page |  60 ++++
 ...ess.TestFundamentalObjectNoGetSetFunc-data.page |  16 +
 ...TestFundamentalObjectNoGetSetFunc.get_data.page |  43 +++
 ...ake_compatible_with_fundamental_sub_object.page |  30 ++
 .../Regress.TestFundamentalObjectNoGetSetFunc.page |  57 ++++
 ...gress.TestFundamentalSubObjectNoGetSetFunc.page |  60 ++++
 tests/scanner/Regress-1.0-expected.gir             | 354 ++++++++++++---------
 tests/scanner/Regress-1.0-sections-expected.txt    |   7 +
 tests/scanner/regress.c                            |  99 ++++++
 tests/scanner/regress.h                            |  27 ++
 26 files changed, 1184 insertions(+), 149 deletions(-)
---
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFunc-data.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFunc-data.page
new file mode 100644
index 00000000..d3eb4fab
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFunc-data.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectNoGetSetFunc-data"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestFundamentalObjectNoGetSetFunc"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestFundamentalObjectNoGetSetFunc->data</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFunc.get_data.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFunc.get_data.page
new file mode 100644
index 00000000..10b2df14
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFunc.get_data.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectNoGetSetFunc.get_data"
+      type="topic"
+      style="method"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestFundamentalObjectNoGetSetFunc"
+      group="method"
+      type="guide"/>
+    <api:function>
+      <api:returns>
+        <api:type>const char*</api:type>
+      </api:returns>
+      <api:name>regress_test_fundamental_object_no_get_set_func_get_data</api:name>
+      <api:arg>
+        <api:type>RegressTestFundamentalObjectNoGetSetFunc*</api:type>
+        <api:name>fundamental</api:name>
+      </api:arg>
+    </api:function>
+  </info>
+  <title>regress_test_fundamental_object_no_get_set_func_get_data</title>
+  <synopsis><code mime="text/x-csrc">
+const char* regress_test_fundamental_object_no_get_set_func_get_data 
(RegressTestFundamentalObjectNoGetSetFunc* fundamental);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>fundamental</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+</page>
diff --git 
a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFunc.make_compatible_with_fundamental_sub_object.page
 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFunc.make_compatible_with_fundamental_sub_object.page
new file mode 100644
index 00000000..ffd49946
--- /dev/null
+++ 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFunc.make_compatible_with_fundamental_sub_object.page
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectNoGetSetFunc.make_compatible_with_fundamental_sub_object"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestFundamentalObjectNoGetSetFunc"
+      group="function"
+      type="guide"/>
+    <api:function>
+      <api:returns>
+        <api:type>void</api:type>
+      </api:returns>
+      
<api:name>regress_test_fundamental_object_no_get_set_func_make_compatible_with_fundamental_sub_object</api:name>
+    </api:function>
+  </info>
+  <title>regress_test_fundamental_object_no_get_set_func_make_compatible_with_fundamental_sub_object</title>
+  <synopsis><code mime="text/x-csrc">
+void regress_test_fundamental_object_no_get_set_func_make_compatible_with_fundamental_sub_object (void);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFunc.new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFunc.new.page
new file mode 100644
index 00000000..d66a2f07
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFunc.new.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectNoGetSetFunc.new"
+      type="topic"
+      style="constructor"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestFundamentalObjectNoGetSetFunc"
+      group="constructor"
+      type="guide"/>
+    <api:function>
+      <api:returns>
+        <api:type>RegressTestFundamentalObjectNoGetSetFunc*</api:type>
+      </api:returns>
+      <api:name>regress_test_fundamental_object_no_get_set_func_new</api:name>
+      <api:arg>
+        <api:type>const char*</api:type>
+        <api:name>data</api:name>
+      </api:arg>
+    </api:function>
+  </info>
+  <title>regress_test_fundamental_object_no_get_set_func_new</title>
+  <synopsis><code mime="text/x-csrc">
+RegressTestFundamentalObjectNoGetSetFunc* regress_test_fundamental_object_no_get_set_func_new (const char* 
data);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFunc.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFunc.page
new file mode 100644
index 00000000..d992e11f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFunc.page
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectNoGetSetFunc"
+      type="guide"
+      style="class"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="index" group="class" type="guide"/>
+  </info>
+  <title>Regress.TestFundamentalObjectNoGetSetFunc</title>
+  <p>Just like a <link xref="Regress.TestFundamentalObject"/> but without gvalue setter and getter</p>
+
+  <synopsis>
+    <title>Hierarchy</title>
+    <tree>
+      <item>
+        <code>Regress.TestFundamentalObjectNoGetSetFunc</code>
+      </item>
+    </tree>
+  </synopsis>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="property" style="linklist">
+    <title>Properties</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+    <title>Signals</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+    <title>Virtual functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
+</page>
diff --git 
a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFuncClass-fundamental_object_class.page
 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFuncClass-fundamental_object_class.page
new file mode 100644
index 00000000..a06bfd60
--- /dev/null
+++ 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFuncClass-fundamental_object_class.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectNoGetSetFuncClass-fundamental_object_class"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestFundamentalObjectNoGetSetFuncClass"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestFundamentalObjectNoGetSetFuncClass->fundamental_object_class</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFuncClass.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFuncClass.page
new file mode 100644
index 00000000..e1b4e775
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectNoGetSetFuncClass.page
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectNoGetSetFuncClass"
+      type="guide"
+      style="class"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="index" group="class" type="guide"/>
+  </info>
+  <title>Regress.TestFundamentalObjectNoGetSetFuncClass</title>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectNoGetSetFunc.new.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectNoGetSetFunc.new.page
new file mode 100644
index 00000000..b35d030a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectNoGetSetFunc.new.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalSubObjectNoGetSetFunc.new"
+      type="topic"
+      style="constructor"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestFundamentalSubObjectNoGetSetFunc"
+      group="constructor"
+      type="guide"/>
+    <api:function>
+      <api:returns>
+        <api:type>RegressTestFundamentalSubObjectNoGetSetFunc*</api:type>
+      </api:returns>
+      <api:name>regress_test_fundamental_sub_object_no_get_set_func_new</api:name>
+      <api:arg>
+        <api:type>const char*</api:type>
+        <api:name>data</api:name>
+      </api:arg>
+    </api:function>
+  </info>
+  <title>regress_test_fundamental_sub_object_no_get_set_func_new</title>
+  <synopsis><code mime="text/x-csrc">
+RegressTestFundamentalSubObjectNoGetSetFunc* regress_test_fundamental_sub_object_no_get_set_func_new (const 
char* data);
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectNoGetSetFunc.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectNoGetSetFunc.page
new file mode 100644
index 00000000..a40b816f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectNoGetSetFunc.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalSubObjectNoGetSetFunc"
+      type="guide"
+      style="class"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="index" group="class" type="guide"/>
+  </info>
+  <title>Regress.TestFundamentalSubObjectNoGetSetFunc</title>
+
+
+  <synopsis>
+    <title>Hierarchy</title>
+    <tree>
+      <item>
+        <code>Regress.TestFundamentalObjectNoGetSetFunc</code>
+      <item>
+        <code>Regress.TestFundamentalSubObjectNoGetSetFunc</code>
+      </item>
+      </item>
+    </tree>
+  </synopsis>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="property" style="linklist">
+    <title>Properties</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+    <title>Signals</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+    <title>Virtual functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
+</page>
diff --git 
a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectNoGetSetFuncClass-fundamental_object_class.page
 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectNoGetSetFuncClass-fundamental_object_class.page
new file mode 100644
index 00000000..831e1a06
--- /dev/null
+++ 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectNoGetSetFuncClass-fundamental_object_class.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalSubObjectNoGetSetFuncClass-fundamental_object_class"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestFundamentalSubObjectNoGetSetFuncClass"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestFundamentalSubObjectNoGetSetFuncClass->fundamental_object_class</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectNoGetSetFuncClass.page 
b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectNoGetSetFuncClass.page
new file mode 100644
index 00000000..2d059ee7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectNoGetSetFuncClass.page
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalSubObjectNoGetSetFuncClass"
+      type="guide"
+      style="class"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="index" group="class" type="guide"/>
+  </info>
+  <title>Regress.TestFundamentalSubObjectNoGetSetFuncClass</title>
+
+
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectNoGetSetFunc.get_data.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectNoGetSetFunc.get_data.page
new file mode 100644
index 00000000..6a1dace5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectNoGetSetFunc.get_data.page
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectNoGetSetFunc.get_data"
+      type="topic"
+      style="method"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestFundamentalObjectNoGetSetFunc"
+      group="method"
+      type="guide"/>
+    <api:function>
+      <api:returns>
+        <api:type>String</api:type>
+      </api:returns>
+      <api:name>regress_test_fundamental_object_no_get_set_func_get_data</api:name>
+    </api:function>
+  </info>
+  <title>Regress.TestFundamentalObjectNoGetSetFunc.prototype.get_data</title>
+  <synopsis><code mime="text/x-gjs">
+function get_data(): String {
+    // Gjs wrapper for regress_test_fundamental_object_no_get_set_func_get_data()
+}
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+</page>
diff --git 
a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectNoGetSetFunc.make_compatible_with_fundamental_sub_object.page
 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectNoGetSetFunc.make_compatible_with_fundamental_sub_object.page
new file mode 100644
index 00000000..5dc02828
--- /dev/null
+++ 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectNoGetSetFunc.make_compatible_with_fundamental_sub_object.page
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectNoGetSetFunc.make_compatible_with_fundamental_sub_object"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestFundamentalObjectNoGetSetFunc"
+      group="function"
+      type="guide"/>
+    <api:function>
+      <api:returns>
+        <api:type>void</api:type>
+      </api:returns>
+      
<api:name>regress_test_fundamental_object_no_get_set_func_make_compatible_with_fundamental_sub_object</api:name>
+    </api:function>
+  </info>
+  <title>Regress.TestFundamentalObjectNoGetSetFunc.make_compatible_with_fundamental_sub_object</title>
+  <synopsis><code mime="text/x-gjs">
+function make_compatible_with_fundamental_sub_object(): void {
+    // Gjs wrapper for 
regress_test_fundamental_object_no_get_set_func_make_compatible_with_fundamental_sub_object()
+}
+  </code></synopsis>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectNoGetSetFunc.new.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectNoGetSetFunc.new.page
new file mode 100644
index 00000000..7605da30
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectNoGetSetFunc.new.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectNoGetSetFunc.new"
+      type="topic"
+      style="constructor"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestFundamentalObjectNoGetSetFunc"
+      group="constructor"
+      type="guide"/>
+    <api:function>
+      <api:returns>
+        <api:type>Regress.TestFundamentalObjectNoGetSetFunc</api:type>
+      </api:returns>
+      <api:name>regress_test_fundamental_object_no_get_set_func_new</api:name>
+      <api:arg>
+        <api:type>String</api:type>
+        <api:name>data</api:name>
+      </api:arg>
+    </api:function>
+  </info>
+  <title>Regress.TestFundamentalObjectNoGetSetFunc.new</title>
+  <synopsis><code mime="text/x-gjs">
+function new(data: String): <link 
xref="Regress.TestFundamentalObjectNoGetSetFunc">Regress.TestFundamentalObjectNoGetSetFunc</link> {
+    // Gjs wrapper for regress_test_fundamental_object_no_get_set_func_new()
+}
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectNoGetSetFunc.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectNoGetSetFunc.page
new file mode 100644
index 00000000..f39f23be
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectNoGetSetFunc.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectNoGetSetFunc"
+      type="guide"
+      style="class"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="index" group="class" type="guide"/>
+  </info>
+  <title>Regress.TestFundamentalObjectNoGetSetFunc</title>
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let testFundamentalObjectNoGetSetFunc = new Regress.TestFundamentalObjectNoGetSetFunc();
+  </code></synopsis>
+  <p>Just like a <link xref="Regress.TestFundamentalObject"/> but without gvalue setter and getter</p>
+
+  <synopsis>
+    <title>Hierarchy</title>
+    <tree>
+      <item>
+        <code>Regress.TestFundamentalObjectNoGetSetFunc</code>
+      </item>
+    </tree>
+  </synopsis>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="property" style="linklist">
+    <title>Properties</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+    <title>Signals</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+    <title>Virtual functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalSubObjectNoGetSetFunc.new.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalSubObjectNoGetSetFunc.new.page
new file mode 100644
index 00000000..20a9aa58
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalSubObjectNoGetSetFunc.new.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalSubObjectNoGetSetFunc.new"
+      type="topic"
+      style="constructor"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestFundamentalSubObjectNoGetSetFunc"
+      group="constructor"
+      type="guide"/>
+    <api:function>
+      <api:returns>
+        <api:type>Regress.TestFundamentalSubObjectNoGetSetFunc</api:type>
+      </api:returns>
+      <api:name>regress_test_fundamental_sub_object_no_get_set_func_new</api:name>
+      <api:arg>
+        <api:type>String</api:type>
+        <api:name>data</api:name>
+      </api:arg>
+    </api:function>
+  </info>
+  <title>Regress.TestFundamentalSubObjectNoGetSetFunc.new</title>
+  <synopsis><code mime="text/x-gjs">
+function new(data: String): <link 
xref="Regress.TestFundamentalSubObjectNoGetSetFunc">Regress.TestFundamentalSubObjectNoGetSetFunc</link> {
+    // Gjs wrapper for regress_test_fundamental_sub_object_no_get_set_func_new()
+}
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalSubObjectNoGetSetFunc.page 
b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalSubObjectNoGetSetFunc.page
new file mode 100644
index 00000000..8af69ae6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalSubObjectNoGetSetFunc.page
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalSubObjectNoGetSetFunc"
+      type="guide"
+      style="class"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="index" group="class" type="guide"/>
+  </info>
+  <title>Regress.TestFundamentalSubObjectNoGetSetFunc</title>
+  <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let testFundamentalSubObjectNoGetSetFunc = new Regress.TestFundamentalSubObjectNoGetSetFunc();
+  </code></synopsis>
+
+
+  <synopsis>
+    <title>Hierarchy</title>
+    <tree>
+      <item>
+        <code>Regress.TestFundamentalObjectNoGetSetFunc</code>
+      <item>
+        <code>Regress.TestFundamentalSubObjectNoGetSetFunc</code>
+      </item>
+      </item>
+    </tree>
+  </synopsis>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/x-gjs"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="property" style="linklist">
+    <title>Properties</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+    <title>Signals</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+    <title>Virtual functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectNoGetSetFunc-data.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectNoGetSetFunc-data.page
new file mode 100644
index 00000000..d3eb4fab
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectNoGetSetFunc-data.page
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectNoGetSetFunc-data"
+      type="topic"
+      style="field"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestFundamentalObjectNoGetSetFunc"
+      group="field"
+      type="guide"/>
+  </info>
+  <title>Regress.TestFundamentalObjectNoGetSetFunc->data</title>
+
+
+</page>
diff --git 
a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectNoGetSetFunc.get_data.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectNoGetSetFunc.get_data.page
new file mode 100644
index 00000000..688016ce
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectNoGetSetFunc.get_data.page
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectNoGetSetFunc.get_data"
+      type="topic"
+      style="method"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestFundamentalObjectNoGetSetFunc"
+      group="method"
+      type="guide"/>
+    <api:function>
+      <api:returns>
+        <api:type>unicode</api:type>
+      </api:returns>
+      <api:name>regress_test_fundamental_object_no_get_set_func_get_data</api:name>
+      <api:arg>
+        <api:type>Regress.TestFundamentalObjectNoGetSetFunc</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+    </api:function>
+  </info>
+  <title>Regress.TestFundamentalObjectNoGetSetFunc.get_data</title>
+  <synopsis><code mime="text/x-python">
+@accepts(Regress.TestFundamentalObjectNoGetSetFunc)
+@returns(unicode)
+def get_data(self):
+    # Python wrapper for regress_test_fundamental_object_no_get_set_func_get_data()
+  </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+</page>
diff --git 
a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectNoGetSetFunc.make_compatible_with_fundamental_sub_object.page
 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectNoGetSetFunc.make_compatible_with_fundamental_sub_object.page
new file mode 100644
index 00000000..ff2e921d
--- /dev/null
+++ 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectNoGetSetFunc.make_compatible_with_fundamental_sub_object.page
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectNoGetSetFunc.make_compatible_with_fundamental_sub_object"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="Regress.TestFundamentalObjectNoGetSetFunc"
+      group="function"
+      type="guide"/>
+    <api:function>
+      <api:returns>
+        <api:type>none</api:type>
+      </api:returns>
+      
<api:name>regress_test_fundamental_object_no_get_set_func_make_compatible_with_fundamental_sub_object</api:name>
+    </api:function>
+  </info>
+  <title>Regress.TestFundamentalObjectNoGetSetFunc.make_compatible_with_fundamental_sub_object</title>
+  <synopsis><code mime="text/x-python">
+@returns(none)
+def make_compatible_with_fundamental_sub_object():
+    # Python wrapper for 
regress_test_fundamental_object_no_get_set_func_make_compatible_with_fundamental_sub_object()
+  </code></synopsis>
+
+
+<terms>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectNoGetSetFunc.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectNoGetSetFunc.page
new file mode 100644
index 00000000..bc2c8940
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectNoGetSetFunc.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectNoGetSetFunc"
+      type="guide"
+      style="class"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="index" group="class" type="guide"/>
+  </info>
+  <title>Regress.TestFundamentalObjectNoGetSetFunc</title>
+  <synopsis><code>
+from gi.repository import Regress
+
+test_fundamental_object_no_get_set_func = Regress.TestFundamentalObjectNoGetSetFunc()
+  </code></synopsis>
+  <p>Just like a <link xref="Regress.TestFundamentalObject"/> but without gvalue setter and getter</p>
+
+  <synopsis>
+    <title>Hierarchy</title>
+    <tree>
+      <item>
+        <code>Regress.TestFundamentalObjectNoGetSetFunc</code>
+      </item>
+    </tree>
+  </synopsis>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="property" style="linklist">
+    <title>Properties</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+    <title>Signals</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+    <title>Virtual functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalSubObjectNoGetSetFunc.page 
b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalSubObjectNoGetSetFunc.page
new file mode 100644
index 00000000..ee64d1c8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalSubObjectNoGetSetFunc.page
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalSubObjectNoGetSetFunc"
+      type="guide"
+      style="class"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/1.0/ui/";>
+  <info>
+    <link xref="index" group="class" type="guide"/>
+  </info>
+  <title>Regress.TestFundamentalSubObjectNoGetSetFunc</title>
+  <synopsis><code>
+from gi.repository import Regress
+
+test_fundamental_sub_object_no_get_set_func = Regress.TestFundamentalSubObjectNoGetSetFunc()
+  </code></synopsis>
+
+
+  <synopsis>
+    <title>Hierarchy</title>
+    <tree>
+      <item>
+        <code>Regress.TestFundamentalObjectNoGetSetFunc</code>
+      <item>
+        <code>Regress.TestFundamentalSubObjectNoGetSetFunc</code>
+      </item>
+      </item>
+    </tree>
+  </synopsis>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="constructor" style="linklist">
+    <title>Constructors</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="method" style="linklist">
+    <title>Methods</title>
+  </links>
+  <links type="topic" ui:expanded="true"
+         api:type="function" api:mime="text/python"
+         groups="function" style="linklist">
+    <title>Static Functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="property" style="linklist">
+    <title>Properties</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+    <title>Signals</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+    <title>Virtual functions</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="field" style="linklist">
+    <title>Fields</title>
+  </links>
+  <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+    <title>Other</title>
+  </links>
+</page>
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index 65a6a83d..5e639903 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -18,8 +18,8 @@ and/or use gtk-doc annotations.  -->
     <alias name="AliasedTestBoxed" c:type="RegressAliasedTestBoxed">
       <doc xml:space="preserve"
            filename="regress.h"
-           line="1394">Typedef TestBoxed to test caller-allocates correctness</doc>
-      <source-position filename="regress.h" line="1399"/>
+           line="1421">Typedef TestBoxed to test caller-allocates correctness</doc>
+      <source-position filename="regress.h" line="1426"/>
       <type name="TestBoxed" c:type="RegressTestBoxed"/>
     </alias>
     <alias name="FooObjectCookie" c:type="RegressFooObjectCookie">
@@ -33,15 +33,15 @@ and/or use gtk-doc annotations.  -->
     <alias name="IntsetAlias" c:type="RegressIntsetAlias" introspectable="0">
       <doc xml:space="preserve"
            filename="regress.h"
-           line="1364">Compatibility typedef, like telepathy-glib's TpIntSet</doc>
-      <source-position filename="regress.h" line="1370"/>
+           line="1391">Compatibility typedef, like telepathy-glib's TpIntSet</doc>
+      <source-position filename="regress.h" line="1397"/>
       <type name="Intset" c:type="RegressIntset"/>
     </alias>
     <alias name="PtrArrayAlias" c:type="RegressPtrArrayAlias">
       <doc xml:space="preserve"
            filename="regress.h"
-           line="1372">Typedef'd GPtrArray for some reason</doc>
-      <source-position filename="regress.h" line="1377"/>
+           line="1399">Typedef'd GPtrArray for some reason</doc>
+      <source-position filename="regress.h" line="1404"/>
       <type name="GLib.PtrArray" c:type="GPtrArray"/>
     </alias>
     <alias name="TestTypeGUInt64" c:type="RegressTestTypeGUInt64">
@@ -51,8 +51,8 @@ and/or use gtk-doc annotations.  -->
     <alias name="VaListAlias" c:type="RegressVaListAlias" introspectable="0">
       <doc xml:space="preserve"
            filename="regress.h"
-           line="1383">Typedef'd va_list for additional reasons</doc>
-      <source-position filename="regress.h" line="1388"/>
+           line="1410">Typedef'd va_list for additional reasons</doc>
+      <source-position filename="regress.h" line="1415"/>
       <type name="va_list" c:type="va_list"/>
     </alias>
     <constant name="ANNOTATION_CALCULATED_DEFINE"
@@ -92,12 +92,12 @@ and/or use gtk-doc annotations.  -->
       </member>
     </enumeration>
     <record name="AnAnonymousUnion" c:type="RegressAnAnonymousUnion">
-      <source-position filename="regress.h" line="1500"/>
+      <source-position filename="regress.h" line="1527"/>
       <field name="x" writable="1">
         <type name="gint" c:type="int"/>
       </field>
       <union>
-        <source-position filename="regress.h" line="1499"/>
+        <source-position filename="regress.h" line="1526"/>
         <field name="a" writable="1">
           <array zero-terminated="0" fixed-size="2">
             <type name="LikeGnomeKeyringPasswordSchema"
@@ -1225,14 +1225,14 @@ it says it's pointer but it's actually a string.</doc>
     </record>
     <record name="AnonymousUnionAndStruct"
             c:type="RegressAnonymousUnionAndStruct">
-      <source-position filename="regress.h" line="1513"/>
+      <source-position filename="regress.h" line="1540"/>
       <field name="x" writable="1">
         <type name="gint" c:type="int"/>
       </field>
       <union>
-        <source-position filename="regress.h" line="1512"/>
+        <source-position filename="regress.h" line="1539"/>
         <record>
-          <source-position filename="regress.h" line="1509"/>
+          <source-position filename="regress.h" line="1536"/>
           <field name="a" writable="1">
             <type name="LikeGnomeKeyringPasswordSchema"
                   c:type="RegressLikeGnomeKeyringPasswordSchema*"/>
@@ -2602,13 +2602,13 @@ exposed to language bindings.</doc>
     <constant name="GI_SCANNER_ELSE"
               value="3"
               c:type="REGRESS_GI_SCANNER_ELSE">
-      <source-position filename="regress.h" line="1477"/>
+      <source-position filename="regress.h" line="1504"/>
       <type name="gint" c:type="gint"/>
     </constant>
     <constant name="GI_SCANNER_IFDEF"
               value="3"
               c:type="REGRESS_GI_SCANNER_IFDEF">
-      <source-position filename="regress.h" line="1481"/>
+      <source-position filename="regress.h" line="1508"/>
       <type name="gint" c:type="gint"/>
     </constant>
     <constant name="GUINT64_CONSTANT"
@@ -2636,18 +2636,18 @@ exposed to language bindings.</doc>
     <record name="Intset" c:type="RegressIntset" disguised="1">
       <doc xml:space="preserve"
            filename="regress.h"
-           line="1356">Like telepathy-glib's TpIntset.</doc>
-      <source-position filename="regress.h" line="1362"/>
+           line="1383">Like telepathy-glib's TpIntset.</doc>
+      <source-position filename="regress.h" line="1389"/>
     </record>
     <constant name="LONG_STRING_CONSTANT"
               
value="TYPE,VALUE,ENCODING,CHARSET,LANGUAGE,DOM,INTL,POSTAL,PARCEL,HOME,WORK,PREF,VOICE,FAX,MSG,CELL,PAGER,BBS,MODEM,CAR,ISDN,VIDEO,AOL,APPLELINK,ATTMAIL,CIS,EWORLD,INTERNET,IBMMAIL,MCIMAIL,POWERSHARE,PRODIGY,TLX,X400,GIF,CGM,WMF,BMP,MET,PMB,DIB,PICT,TIFF,PDF,PS,JPEG,QTIME,MPEG,MPEG2,AVI,WAVE,AIFF,PCM,X509,PGP"
               c:type="REGRESS_LONG_STRING_CONSTANT">
-      <source-position filename="regress.h" line="1448"/>
+      <source-position filename="regress.h" line="1475"/>
       <type name="utf8" c:type="gchar*"/>
     </constant>
     <record name="LikeGnomeKeyringPasswordSchema"
             c:type="RegressLikeGnomeKeyringPasswordSchema">
-      <source-position filename="regress.h" line="1467"/>
+      <source-position filename="regress.h" line="1494"/>
       <field name="dummy" writable="1">
         <type name="gint" c:type="int"/>
       </field>
@@ -2661,7 +2661,7 @@ exposed to language bindings.</doc>
       </field>
     </record>
     <record name="LikeXklConfigItem" c:type="RegressLikeXklConfigItem">
-      <source-position filename="regress.h" line="1434"/>
+      <source-position filename="regress.h" line="1461"/>
       <field name="name" writable="1">
         <array zero-terminated="0" fixed-size="32">
           <type name="gchar" c:type="gchar"/>
@@ -2669,7 +2669,7 @@ exposed to language bindings.</doc>
       </field>
       <method name="set_name"
               c:identifier="regress_like_xkl_config_item_set_name">
-        <source-position filename="regress.h" line="1438"/>
+        <source-position filename="regress.h" line="1465"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
@@ -2686,13 +2686,13 @@ exposed to language bindings.</doc>
     <constant name="MAXUINT64"
               value="18446744073709551615"
               c:type="REGRESS_MAXUINT64">
-      <source-position filename="regress.h" line="1471"/>
+      <source-position filename="regress.h" line="1498"/>
       <type name="guint64" c:type="guint64"/>
     </constant>
     <constant name="MININT64"
               value="-9223372036854775808"
               c:type="REGRESS_MININT64">
-      <source-position filename="regress.h" line="1470"/>
+      <source-position filename="regress.h" line="1497"/>
       <type name="gint64" c:type="gint64"/>
     </constant>
     <constant name="Mixed_Case_Constant"
@@ -2718,9 +2718,9 @@ exposed to language bindings.</doc>
             introspectable="0">
       <doc xml:space="preserve"
            filename="regress.h"
-           line="1338">This should be skipped, and moreover, all function which
+           line="1365">This should be skipped, and moreover, all function which
 use it should be.</doc>
-      <source-position filename="regress.h" line="1348"/>
+      <source-position filename="regress.h" line="1375"/>
       <field name="x" writable="1">
         <type name="gint" c:type="int"/>
       </field>
@@ -2731,7 +2731,7 @@ use it should be.</doc>
     <function-macro name="TEST_FLOATING"
                     c:identifier="REGRESS_TEST_FLOATING"
                     introspectable="0">
-      <source-position filename="regress.h" line="1266"/>
+      <source-position filename="regress.h" line="1293"/>
       <parameters>
         <parameter name="object">
         </parameter>
@@ -2740,7 +2740,7 @@ use it should be.</doc>
     <function-macro name="TEST_FLOATING_GET_CLASS"
                     c:identifier="REGRESS_TEST_FLOATING_GET_CLASS"
                     introspectable="0">
-      <source-position filename="regress.h" line="1268"/>
+      <source-position filename="regress.h" line="1295"/>
       <parameters>
         <parameter name="obj">
         </parameter>
@@ -2785,7 +2785,7 @@ use it should be.</doc>
     <function-macro name="TEST_GNUC_EXTENSION_STMT"
                     c:identifier="REGRESS_TEST_GNUC_EXTENSION_STMT"
                     introspectable="0">
-      <source-position filename="regress.h" line="1444"/>
+      <source-position filename="regress.h" line="1471"/>
       <parameters>
         <parameter name="foo">
         </parameter>
@@ -2794,7 +2794,7 @@ use it should be.</doc>
     <function-macro name="TEST_INTERFACE"
                     c:identifier="REGRESS_TEST_INTERFACE"
                     introspectable="0">
-      <source-position filename="regress.h" line="1214"/>
+      <source-position filename="regress.h" line="1241"/>
       <parameters>
         <parameter name="object">
         </parameter>
@@ -2803,7 +2803,7 @@ use it should be.</doc>
     <function-macro name="TEST_INTERFACE_GET_IFACE"
                     c:identifier="REGRESS_TEST_INTERFACE_GET_IFACE"
                     introspectable="0">
-      <source-position filename="regress.h" line="1216"/>
+      <source-position filename="regress.h" line="1243"/>
       <parameters>
         <parameter name="obj">
         </parameter>
@@ -2812,7 +2812,7 @@ use it should be.</doc>
     <function-macro name="TEST_IS_FLOATING"
                     c:identifier="REGRESS_TEST_IS_FLOATING"
                     introspectable="0">
-      <source-position filename="regress.h" line="1267"/>
+      <source-position filename="regress.h" line="1294"/>
       <parameters>
         <parameter name="object">
         </parameter>
@@ -2839,7 +2839,7 @@ use it should be.</doc>
     <function-macro name="TEST_IS_INTERFACE"
                     c:identifier="REGRESS_TEST_IS_INTERFACE"
                     introspectable="0">
-      <source-position filename="regress.h" line="1215"/>
+      <source-position filename="regress.h" line="1242"/>
       <parameters>
         <parameter name="object">
         </parameter>
@@ -2866,7 +2866,7 @@ use it should be.</doc>
     <function-macro name="TEST_IS_WI_802_1X"
                     c:identifier="REGRESS_TEST_IS_WI_802_1X"
                     introspectable="0">
-      <source-position filename="regress.h" line="1233"/>
+      <source-position filename="regress.h" line="1260"/>
       <parameters>
         <parameter name="object">
         </parameter>
@@ -2920,7 +2920,7 @@ use it should be.</doc>
     <function-macro name="TEST_WI_802_1X"
                     c:identifier="REGRESS_TEST_WI_802_1X"
                     introspectable="0">
-      <source-position filename="regress.h" line="1232"/>
+      <source-position filename="regress.h" line="1259"/>
       <parameters>
         <parameter name="object">
         </parameter>
@@ -2929,7 +2929,7 @@ use it should be.</doc>
     <function-macro name="TEST_WI_802_1X_GET_CLASS"
                     c:identifier="REGRESS_TEST_WI_802_1X_GET_CLASS"
                     introspectable="0">
-      <source-position filename="regress.h" line="1234"/>
+      <source-position filename="regress.h" line="1261"/>
       <parameters>
         <parameter name="obj">
         </parameter>
@@ -3180,13 +3180,13 @@ use it should be.</doc>
       <source-position filename="regress.h" line="666"/>
     </record>
     <callback name="TestCallback" c:type="RegressTestCallback">
-      <source-position filename="regress.h" line="1094"/>
+      <source-position filename="regress.h" line="1121"/>
       <return-value transfer-ownership="none">
         <type name="gint" c:type="int"/>
       </return-value>
     </callback>
     <callback name="TestCallbackArray" c:type="RegressTestCallbackArray">
-      <source-position filename="regress.h" line="1126"/>
+      <source-position filename="regress.h" line="1153"/>
       <return-value transfer-ownership="none">
         <type name="gint" c:type="int"/>
       </return-value>
@@ -3211,7 +3211,7 @@ use it should be.</doc>
     </callback>
     <callback name="TestCallbackArrayInOut"
               c:type="RegressTestCallbackArrayInOut">
-      <source-position filename="regress.h" line="1132"/>
+      <source-position filename="regress.h" line="1159"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -3233,7 +3233,7 @@ use it should be.</doc>
       </parameters>
     </callback>
     <callback name="TestCallbackFull" c:type="RegressTestCallbackFull">
-      <source-position filename="regress.h" line="1113"/>
+      <source-position filename="regress.h" line="1140"/>
       <return-value transfer-ownership="none">
         <type name="gint" c:type="int"/>
       </return-value>
@@ -3241,25 +3241,25 @@ use it should be.</doc>
         <parameter name="foo" transfer-ownership="none">
           <doc xml:space="preserve"
                filename="regress.h"
-               line="1109">the investment rate</doc>
+               line="1136">the investment rate</doc>
           <type name="gint" c:type="int"/>
         </parameter>
         <parameter name="bar" transfer-ownership="none">
           <doc xml:space="preserve"
                filename="regress.h"
-               line="1110">how much money</doc>
+               line="1137">how much money</doc>
           <type name="gdouble" c:type="double"/>
         </parameter>
         <parameter name="path" transfer-ownership="none">
           <doc xml:space="preserve"
                filename="regress.h"
-               line="1111">Path to file</doc>
+               line="1138">Path to file</doc>
           <type name="filename" c:type="char*"/>
         </parameter>
       </parameters>
     </callback>
     <callback name="TestCallbackGError" c:type="RegressTestCallbackGError">
-      <source-position filename="regress.h" line="1101"/>
+      <source-position filename="regress.h" line="1128"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -3271,7 +3271,7 @@ use it should be.</doc>
     </callback>
     <callback name="TestCallbackHashtable"
               c:type="RegressTestCallbackHashtable">
-      <source-position filename="regress.h" line="1100"/>
+      <source-position filename="regress.h" line="1127"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -3279,7 +3279,7 @@ use it should be.</doc>
         <parameter name="data" transfer-ownership="none">
           <doc xml:space="preserve"
                filename="regress.h"
-               line="1098">a hash table; will be modified</doc>
+               line="1125">a hash table; will be modified</doc>
           <type name="GLib.HashTable" c:type="GHashTable*">
             <type name="utf8"/>
             <type name="gint"/>
@@ -3289,7 +3289,7 @@ use it should be.</doc>
     </callback>
     <callback name="TestCallbackOwnedGError"
               c:type="RegressTestCallbackOwnedGError">
-      <source-position filename="regress.h" line="1106"/>
+      <source-position filename="regress.h" line="1133"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -3297,20 +3297,20 @@ use it should be.</doc>
         <parameter name="error" transfer-ownership="full">
           <doc xml:space="preserve"
                filename="regress.h"
-               line="1104">GError instance; must be freed by the callback</doc>
+               line="1131">GError instance; must be freed by the callback</doc>
           <type name="GLib.Error" c:type="GError*"/>
         </parameter>
       </parameters>
     </callback>
     <callback name="TestCallbackReturnFull"
               c:type="RegressTestCallbackReturnFull">
-      <source-position filename="regress.h" line="1118"/>
+      <source-position filename="regress.h" line="1145"/>
       <return-value transfer-ownership="full">
         <type name="TestObj" c:type="RegressTestObj*"/>
       </return-value>
     </callback>
     <callback name="TestCallbackUserData" c:type="RegressTestCallbackUserData">
-      <source-position filename="regress.h" line="1095"/>
+      <source-position filename="regress.h" line="1122"/>
       <return-value transfer-ownership="none">
         <type name="gint" c:type="int"/>
       </return-value>
@@ -3492,13 +3492,13 @@ use it should be.</doc>
            glib:type-name="RegressTestFloating"
            glib:get-type="regress_test_floating_get_type"
            glib:type-struct="TestFloatingClass">
-      <source-position filename="regress.h" line="1278"/>
+      <source-position filename="regress.h" line="1305"/>
       <constructor name="new" c:identifier="regress_test_floating_new">
-        <source-position filename="regress.h" line="1285"/>
+        <source-position filename="regress.h" line="1312"/>
         <return-value transfer-ownership="none">
           <doc xml:space="preserve"
                filename="regress.c"
-               line="4311">A new floating #RegressTestFloating</doc>
+               line="4410">A new floating #RegressTestFloating</doc>
           <type name="TestFloating" c:type="RegressTestFloating*"/>
         </return-value>
       </constructor>
@@ -3509,7 +3509,7 @@ use it should be.</doc>
     <record name="TestFloatingClass"
             c:type="RegressTestFloatingClass"
             glib:is-gtype-struct-for="TestFloating">
-      <source-position filename="regress.h" line="1278"/>
+      <source-position filename="regress.h" line="1305"/>
       <field name="parent_class">
         <type name="GObject.InitiallyUnownedClass"
               c:type="GInitiallyUnownedClass"/>
@@ -3637,6 +3637,62 @@ use it should be.</doc>
         </parameter>
       </parameters>
     </callback>
+    <class name="TestFundamentalObjectNoGetSetFunc"
+           c:symbol-prefix="test_fundamental_object_no_get_set_func"
+           c:type="RegressTestFundamentalObjectNoGetSetFunc"
+           glib:type-name="RegressTestFundamentalObjectNoGetSetFunc"
+           glib:get-type="regress_test_fundamental_object_no_get_set_func_get_type"
+           glib:type-struct="TestFundamentalObjectNoGetSetFuncClass"
+           glib:fundamental="1"
+           glib:ref-func="regress_test_fundamental_object_ref"
+           glib:unref-func="regress_test_fundamental_object_unref">
+      <doc xml:space="preserve"
+           filename="regress.c"
+           line="3763">Just like a #RegressTestFundamentalObject but without gvalue setter and getter</doc>
+      <source-position filename="regress.h" line="1094"/>
+      <constructor name="new"
+                   c:identifier="regress_test_fundamental_object_no_get_set_func_new">
+        <source-position filename="regress.h" line="1112"/>
+        <return-value transfer-ownership="full">
+          <type name="TestFundamentalObjectNoGetSetFunc"
+                c:type="RegressTestFundamentalObjectNoGetSetFunc*"/>
+        </return-value>
+        <parameters>
+          <parameter name="data" transfer-ownership="none">
+            <type name="utf8" c:type="const char*"/>
+          </parameter>
+        </parameters>
+      </constructor>
+      <method name="get_data"
+              c:identifier="regress_test_fundamental_object_no_get_set_func_get_data">
+        <source-position filename="regress.h" line="1116"/>
+        <return-value transfer-ownership="none">
+          <type name="utf8" c:type="const char*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="fundamental" transfer-ownership="none">
+            <type name="TestFundamentalObjectNoGetSetFunc"
+                  c:type="RegressTestFundamentalObjectNoGetSetFunc*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <field name="fundamental_object" readable="0" private="1">
+        <type name="TestFundamentalObject"
+              c:type="RegressTestFundamentalObject"/>
+      </field>
+      <field name="data">
+        <type name="utf8" c:type="char*"/>
+      </field>
+    </class>
+    <record name="TestFundamentalObjectNoGetSetFuncClass"
+            c:type="RegressTestFundamentalObjectNoGetSetFuncClass"
+            glib:is-gtype-struct-for="TestFundamentalObjectNoGetSetFunc">
+      <source-position filename="regress.h" line="1094"/>
+      <field name="fundamental_object_class">
+        <type name="TestFundamentalObjectClass"
+              c:type="RegressTestFundamentalObjectClass"/>
+      </field>
+    </record>
     <class name="TestFundamentalSubObject"
            c:symbol-prefix="test_fundamental_sub_object"
            c:type="RegressTestFundamentalSubObject"
@@ -3648,7 +3704,7 @@ use it should be.</doc>
       <source-position filename="regress.h" line="1076"/>
       <constructor name="new"
                    c:identifier="regress_test_fundamental_sub_object_new">
-        <source-position filename="regress.h" line="1085"/>
+        <source-position filename="regress.h" line="1104"/>
         <return-value transfer-ownership="full">
           <type name="TestFundamentalSubObject"
                 c:type="RegressTestFundamentalSubObject*"/>
@@ -3794,10 +3850,10 @@ use it should be.</doc>
                glib:type-name="RegressTestInterface"
                glib:get-type="regress_test_interface_get_type"
                glib:type-struct="TestInterfaceIface">
-      <source-position filename="regress.h" line="1222"/>
+      <source-position filename="regress.h" line="1249"/>
       <method name="emit_signal"
               c:identifier="regress_test_interface_emit_signal">
-        <source-position filename="regress.h" line="1228"/>
+        <source-position filename="regress.h" line="1255"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
@@ -3805,7 +3861,7 @@ use it should be.</doc>
           <instance-parameter name="self" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="regress.c"
-                 line="4170">the object to emit the signal</doc>
+                 line="4269">the object to emit the signal</doc>
             <type name="TestInterface" c:type="RegressTestInterface*"/>
           </instance-parameter>
         </parameters>
@@ -3824,7 +3880,7 @@ use it should be.</doc>
           <parameter name="ptr" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="regress.c"
-                 line="4151">the code must look up the signal with
+                 line="4250">the code must look up the signal with
   g_interface_info_find_signal() in order to get this to work.</doc>
             <type name="gint" c:type="gpointer"/>
           </parameter>
@@ -3834,13 +3890,13 @@ use it should be.</doc>
     <record name="TestInterfaceIface"
             c:type="RegressTestInterfaceIface"
             glib:is-gtype-struct-for="TestInterface">
-      <source-position filename="regress.h" line="1222"/>
+      <source-position filename="regress.h" line="1249"/>
       <field name="base_iface">
         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
       </field>
     </record>
     <callback name="TestNoPtrCallback" c:type="RegressTestNoPtrCallback">
-      <source-position filename="regress.h" line="1093"/>
+      <source-position filename="regress.h" line="1120"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -3875,7 +3931,7 @@ use it should be.</doc>
       </constructor>
       <constructor name="new_callback"
                    c:identifier="regress_test_obj_new_callback">
-        <source-position filename="regress.h" line="1190"/>
+        <source-position filename="regress.h" line="1217"/>
         <return-value transfer-ownership="full">
           <type name="TestObj" c:type="RegressTestObj*"/>
         </return-value>
@@ -3945,7 +4001,7 @@ use it should be.</doc>
       </function>
       <function name="static_method_callback"
                 c:identifier="regress_test_obj_static_method_callback">
-        <source-position filename="regress.h" line="1187"/>
+        <source-position filename="regress.h" line="1214"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
@@ -4192,7 +4248,7 @@ case.</doc>
       </method>
       <method name="instance_method_callback"
               c:identifier="regress_test_obj_instance_method_callback">
-        <source-position filename="regress.h" line="1184"/>
+        <source-position filename="regress.h" line="1211"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
@@ -5217,7 +5273,7 @@ the introspection client langage.</doc>
       </function>
     </enumeration>
     <bitfield name="TestPrivateEnum" c:type="RegressTestPrivateEnum">
-      <source-position filename="regress.h" line="1421"/>
+      <source-position filename="regress.h" line="1448"/>
       <member name="public_enum_before"
               value="1"
               c:identifier="REGRESS_TEST_PUBLIC_ENUM_BEFORE">
@@ -5228,7 +5284,7 @@ the introspection client langage.</doc>
       </member>
     </bitfield>
     <record name="TestPrivateStruct" c:type="RegressTestPrivateStruct">
-      <source-position filename="regress.h" line="1413"/>
+      <source-position filename="regress.h" line="1440"/>
       <field name="this_is_public_before" writable="1">
         <type name="gint" c:type="gint"/>
       </field>
@@ -5240,7 +5296,7 @@ the introspection client langage.</doc>
       </field>
     </record>
     <record name="TestReferenceCounters" c:type="RegressTestReferenceCounters">
-      <source-position filename="regress.h" line="1523"/>
+      <source-position filename="regress.h" line="1550"/>
       <field name="refcount" writable="1">
         <type name="gint" c:type="grefcount"/>
       </field>
@@ -5340,7 +5396,7 @@ the introspection client langage.</doc>
       </method>
     </record>
     <callback name="TestSimpleCallback" c:type="RegressTestSimpleCallback">
-      <source-position filename="regress.h" line="1092"/>
+      <source-position filename="regress.h" line="1119"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -5547,7 +5603,7 @@ the introspection client langage.</doc>
       </field>
     </record>
     <record name="TestStructFixedArray" c:type="RegressTestStructFixedArray">
-      <source-position filename="regress.h" line="1426"/>
+      <source-position filename="regress.h" line="1453"/>
       <field name="just_int" writable="1">
         <type name="gint" c:type="gint"/>
       </field>
@@ -5557,7 +5613,7 @@ the introspection client langage.</doc>
         </array>
       </field>
       <method name="frob" c:identifier="regress_test_struct_fixed_array_frob">
-        <source-position filename="regress.h" line="1430"/>
+        <source-position filename="regress.h" line="1457"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
@@ -5638,16 +5694,16 @@ the introspection client langage.</doc>
            glib:type-name="RegressTestWi8021x"
            glib:get-type="regress_test_wi_802_1x_get_type"
            glib:type-struct="TestWi8021xClass">
-      <source-position filename="regress.h" line="1246"/>
+      <source-position filename="regress.h" line="1273"/>
       <constructor name="new" c:identifier="regress_test_wi_802_1x_new">
-        <source-position filename="regress.h" line="1253"/>
+        <source-position filename="regress.h" line="1280"/>
         <return-value transfer-ownership="full">
           <type name="TestWi8021x" c:type="RegressTestWi8021x*"/>
         </return-value>
       </constructor>
       <function name="static_method"
                 c:identifier="regress_test_wi_802_1x_static_method">
-        <source-position filename="regress.h" line="1262"/>
+        <source-position filename="regress.h" line="1289"/>
         <return-value transfer-ownership="none">
           <type name="gint" c:type="int"/>
         </return-value>
@@ -5660,7 +5716,7 @@ the introspection client langage.</doc>
       <method name="get_testbool"
               c:identifier="regress_test_wi_802_1x_get_testbool"
               glib:get-property="testbool">
-        <source-position filename="regress.h" line="1256"/>
+        <source-position filename="regress.h" line="1283"/>
         <return-value transfer-ownership="none">
           <type name="gboolean" c:type="gboolean"/>
         </return-value>
@@ -5673,7 +5729,7 @@ the introspection client langage.</doc>
       <method name="set_testbool"
               c:identifier="regress_test_wi_802_1x_set_testbool"
               glib:set-property="testbool">
-        <source-position filename="regress.h" line="1259"/>
+        <source-position filename="regress.h" line="1286"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
@@ -5703,7 +5759,7 @@ the introspection client langage.</doc>
     <record name="TestWi8021xClass"
             c:type="RegressTestWi8021xClass"
             glib:is-gtype-struct-for="TestWi8021x">
-      <source-position filename="regress.h" line="1246"/>
+      <source-position filename="regress.h" line="1273"/>
       <field name="parent_class">
         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
       </field>
@@ -5711,12 +5767,12 @@ the introspection client langage.</doc>
     <constant name="UTF8_CONSTANT"
               value="const ♥ utf8"
               c:type="REGRESS_UTF8_CONSTANT">
-      <source-position filename="regress.h" line="1441"/>
+      <source-position filename="regress.h" line="1468"/>
       <type name="utf8" c:type="gchar*"/>
     </constant>
     <function name="aliased_caller_alloc"
               c:identifier="regress_aliased_caller_alloc">
-      <source-position filename="regress.h" line="1403"/>
+      <source-position filename="regress.h" line="1430"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -6408,11 +6464,11 @@ exposed to language bindings.</doc>
       </parameters>
     </function>
     <function name="get_variant" c:identifier="regress_get_variant">
-      <source-position filename="regress.h" line="1516"/>
+      <source-position filename="regress.h" line="1543"/>
       <return-value transfer-ownership="none">
         <doc xml:space="preserve"
              filename="regress.c"
-             line="4587">A new variant</doc>
+             line="4686">A new variant</doc>
         <type name="GLib.Variant" c:type="GVariant*"/>
       </return-value>
     </function>
@@ -6438,9 +6494,9 @@ exposed to language bindings.</doc>
               c:identifier="regress_has_parameter_named_attrs">
       <doc xml:space="preserve"
            filename="regress.c"
-           line="4547">This test case mirrors GnomeKeyringPasswordSchema from
+           line="4646">This test case mirrors GnomeKeyringPasswordSchema from
 libgnome-keyring.</doc>
-      <source-position filename="regress.h" line="1456"/>
+      <source-position filename="regress.h" line="1483"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -6448,13 +6504,13 @@ libgnome-keyring.</doc>
         <parameter name="foo" transfer-ownership="none">
           <doc xml:space="preserve"
                filename="regress.c"
-               line="4549">some int</doc>
+               line="4648">some int</doc>
           <type name="gint" c:type="int"/>
         </parameter>
         <parameter name="attributes" transfer-ownership="none">
           <doc xml:space="preserve"
                filename="regress.c"
-               line="4550">list of attributes</doc>
+               line="4649">list of attributes</doc>
           <array zero-terminated="0" c:type="gpointer" fixed-size="32">
             <type name="guint32" c:type="gpointer"/>
           </array>
@@ -6463,7 +6519,7 @@ libgnome-keyring.</doc>
     </function>
     <function name="introspectable_via_alias"
               c:identifier="regress_introspectable_via_alias">
-      <source-position filename="regress.h" line="1381"/>
+      <source-position filename="regress.h" line="1408"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -6476,7 +6532,7 @@ libgnome-keyring.</doc>
     <function name="not_introspectable_via_alias"
               c:identifier="regress_not_introspectable_via_alias"
               introspectable="0">
-      <source-position filename="regress.h" line="1392"/>
+      <source-position filename="regress.h" line="1419"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -6489,7 +6545,7 @@ libgnome-keyring.</doc>
     <function name="random_function_with_skipped_structure"
               c:identifier="regress_random_function_with_skipped_structure"
               introspectable="0">
-      <source-position filename="regress.h" line="1352"/>
+      <source-position filename="regress.h" line="1379"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -6532,7 +6588,7 @@ in particular, but it should be serialized in the gir nevertheless.</doc>
     </function>
     <function name="test_array_callback"
               c:identifier="regress_test_array_callback">
-      <source-position filename="regress.h" line="1147"/>
+      <source-position filename="regress.h" line="1174"/>
       <return-value transfer-ownership="none">
         <type name="gint" c:type="int"/>
       </return-value>
@@ -6719,7 +6775,7 @@ in particular, but it should be serialized in the gir nevertheless.</doc>
     </function>
     <function name="test_array_inout_callback"
               c:identifier="regress_test_array_inout_callback">
-      <source-position filename="regress.h" line="1150"/>
+      <source-position filename="regress.h" line="1177"/>
       <return-value transfer-ownership="none">
         <type name="gint" c:type="int"/>
       </return-value>
@@ -6926,12 +6982,12 @@ in particular, but it should be serialized in the gir nevertheless.</doc>
               c:identifier="regress_test_array_struct_in_full">
       <doc xml:space="preserve"
            filename="regress.c"
-           line="4679">Test flat array input with transfer full.
+           line="4778">Test flat array input with transfer full.
 
 Similar to:
 - gsf_property_settings_free() with structs but they contain pointers
 - g_byte_array_new_take() with guint8s</doc>
-      <source-position filename="regress.h" line="1538"/>
+      <source-position filename="regress.h" line="1565"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -6939,7 +6995,7 @@ Similar to:
         <parameter name="arr" transfer-ownership="full">
           <doc xml:space="preserve"
                filename="regress.c"
-               line="4681">An array</doc>
+               line="4780">An array</doc>
           <array length="1" zero-terminated="0" c:type="RegressTestStructA*">
             <type name="TestStructA" c:type="RegressTestStructA"/>
           </array>
@@ -6947,7 +7003,7 @@ Similar to:
         <parameter name="len" transfer-ownership="none">
           <doc xml:space="preserve"
                filename="regress.c"
-               line="4682">Length of @arr</doc>
+               line="4781">Length of @arr</doc>
           <type name="gsize" c:type="gsize"/>
         </parameter>
       </parameters>
@@ -6956,10 +7012,10 @@ Similar to:
               c:identifier="regress_test_array_struct_in_none">
       <doc xml:space="preserve"
            filename="regress.c"
-           line="4699">Test flat array input with transfer none.
+           line="4798">Test flat array input with transfer none.
 
 Similar to g_main_context_check() or gtk_target_list_new().</doc>
-      <source-position filename="regress.h" line="1541"/>
+      <source-position filename="regress.h" line="1568"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -6967,7 +7023,7 @@ Similar to g_main_context_check() or gtk_target_list_new().</doc>
         <parameter name="arr" transfer-ownership="none">
           <doc xml:space="preserve"
                filename="regress.c"
-               line="4701">An array.</doc>
+               line="4800">An array.</doc>
           <array length="1" zero-terminated="0" c:type="RegressTestStructA*">
             <type name="TestStructA" c:type="RegressTestStructA"/>
           </array>
@@ -6975,7 +7031,7 @@ Similar to g_main_context_check() or gtk_target_list_new().</doc>
         <parameter name="len" transfer-ownership="none">
           <doc xml:space="preserve"
                filename="regress.c"
-               line="4702">Length of @arr</doc>
+               line="4801">Length of @arr</doc>
           <type name="gsize" c:type="gsize"/>
         </parameter>
       </parameters>
@@ -7010,10 +7066,10 @@ Similar to g_main_context_check() or gtk_target_list_new().</doc>
               c:identifier="regress_test_array_struct_out_caller_alloc">
       <doc xml:space="preserve"
            filename="regress.c"
-           line="4658">Test flat caller-allocated array output.
+           line="4757">Test flat caller-allocated array output.
 
 Similar to g_main_context_query().</doc>
-      <source-position filename="regress.h" line="1535"/>
+      <source-position filename="regress.h" line="1562"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -7024,7 +7080,7 @@ Similar to g_main_context_query().</doc>
                    transfer-ownership="none">
           <doc xml:space="preserve"
                filename="regress.c"
-               line="4660">An array</doc>
+               line="4759">An array</doc>
           <array length="1" zero-terminated="0" c:type="RegressTestStructA*">
             <type name="TestStructA" c:type="RegressTestStructA"/>
           </array>
@@ -7035,7 +7091,7 @@ Similar to g_main_context_query().</doc>
                    transfer-ownership="full">
           <doc xml:space="preserve"
                filename="regress.c"
-               line="4661">Length of @arr</doc>
+               line="4760">Length of @arr</doc>
           <type name="gsize" c:type="gsize"/>
         </parameter>
       </parameters>
@@ -7044,10 +7100,10 @@ Similar to g_main_context_query().</doc>
               c:identifier="regress_test_array_struct_out_container">
       <doc xml:space="preserve"
            filename="regress.c"
-           line="4620">Test flat array output with transfer container.
+           line="4719">Test flat array output with transfer container.
 
 Similar to pango_layout_get_log_attrs().</doc>
-      <source-position filename="regress.h" line="1529"/>
+      <source-position filename="regress.h" line="1556"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -7058,7 +7114,7 @@ Similar to pango_layout_get_log_attrs().</doc>
                    transfer-ownership="container">
           <doc xml:space="preserve"
                filename="regress.c"
-               line="4622">An array</doc>
+               line="4721">An array</doc>
           <array length="1" zero-terminated="0" c:type="RegressTestStructA**">
             <type name="TestStructA" c:type="RegressTestStructA*"/>
           </array>
@@ -7069,7 +7125,7 @@ Similar to pango_layout_get_log_attrs().</doc>
                    transfer-ownership="full">
           <doc xml:space="preserve"
                filename="regress.c"
-               line="4623">Length of @arr</doc>
+               line="4722">Length of @arr</doc>
           <type name="gsize" c:type="gsize*"/>
         </parameter>
       </parameters>
@@ -7078,8 +7134,8 @@ Similar to pango_layout_get_log_attrs().</doc>
               c:identifier="regress_test_array_struct_out_full_fixed">
       <doc xml:space="preserve"
            filename="regress.c"
-           line="4642">Test flat fixed-size array output with transfer full.</doc>
-      <source-position filename="regress.h" line="1532"/>
+           line="4741">Test flat fixed-size array output with transfer full.</doc>
+      <source-position filename="regress.h" line="1559"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -7090,7 +7146,7 @@ Similar to pango_layout_get_log_attrs().</doc>
                    transfer-ownership="full">
           <doc xml:space="preserve"
                filename="regress.c"
-               line="4644">An array</doc>
+               line="4743">An array</doc>
           <array zero-terminated="0"
                  c:type="RegressTestStructA**"
                  fixed-size="4">
@@ -7103,13 +7159,13 @@ Similar to pango_layout_get_log_attrs().</doc>
               c:identifier="regress_test_array_struct_out_none">
       <doc xml:space="preserve"
            filename="regress.c"
-           line="4595">Test flat array output with transfer none.
+           line="4694">Test flat array output with transfer none.
 
 Similar to:
 - mm_modem_peek_ports() with structs
 - gdk_query_visual_types() with enums
 - gdk_event_get_axes() with doubles</doc>
-      <source-position filename="regress.h" line="1526"/>
+      <source-position filename="regress.h" line="1553"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -7120,7 +7176,7 @@ Similar to:
                    transfer-ownership="none">
           <doc xml:space="preserve"
                filename="regress.c"
-               line="4597">An array</doc>
+               line="4696">An array</doc>
           <array length="1" zero-terminated="0" c:type="RegressTestStructA**">
             <type name="TestStructA" c:type="RegressTestStructA*"/>
           </array>
@@ -7131,14 +7187,14 @@ Similar to:
                    transfer-ownership="full">
           <doc xml:space="preserve"
                filename="regress.c"
-               line="4598">Length of @arr</doc>
+               line="4697">Length of @arr</doc>
           <type name="gsize" c:type="gsize*"/>
         </parameter>
       </parameters>
     </function>
     <function name="test_async_ready_callback"
               c:identifier="regress_test_async_ready_callback">
-      <source-position filename="regress.h" line="1180"/>
+      <source-position filename="regress.h" line="1207"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -7267,7 +7323,7 @@ Similar to:
       </return-value>
     </function>
     <function name="test_callback" c:identifier="regress_test_callback">
-      <source-position filename="regress.h" line="1141"/>
+      <source-position filename="regress.h" line="1168"/>
       <return-value transfer-ownership="none">
         <type name="gint" c:type="int"/>
       </return-value>
@@ -7283,7 +7339,7 @@ Similar to:
     </function>
     <function name="test_callback_async"
               c:identifier="regress_test_callback_async">
-      <source-position filename="regress.h" line="1173"/>
+      <source-position filename="regress.h" line="1200"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -7307,9 +7363,9 @@ Similar to:
               c:identifier="regress_test_callback_destroy_notify">
       <doc xml:space="preserve"
            filename="regress.c"
-           line="3901">Notified - callback persists until a DestroyNotify delegate
+           line="4000">Notified - callback persists until a DestroyNotify delegate
 is invoked.</doc>
-      <source-position filename="regress.h" line="1160"/>
+      <source-position filename="regress.h" line="1187"/>
       <return-value transfer-ownership="none">
         <type name="gint" c:type="int"/>
       </return-value>
@@ -7337,9 +7393,9 @@ is invoked.</doc>
               c:identifier="regress_test_callback_destroy_notify_no_user_data">
       <doc xml:space="preserve"
            filename="regress.c"
-           line="3928">Adds a scope notified callback with no user data. This can invoke an error
+           line="4027">Adds a scope notified callback with no user data. This can invoke an error
 condition in bindings which needs to be tested.</doc>
-      <source-position filename="regress.h" line="1165"/>
+      <source-position filename="regress.h" line="1192"/>
       <return-value transfer-ownership="none">
         <type name="gint" c:type="int"/>
       </return-value>
@@ -7358,7 +7414,7 @@ condition in bindings which needs to be tested.</doc>
     </function>
     <function name="test_callback_return_full"
               c:identifier="regress_test_callback_return_full">
-      <source-position filename="regress.h" line="1157"/>
+      <source-position filename="regress.h" line="1184"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -7371,7 +7427,7 @@ condition in bindings which needs to be tested.</doc>
     </function>
     <function name="test_callback_thaw_async"
               c:identifier="regress_test_callback_thaw_async">
-      <source-position filename="regress.h" line="1176"/>
+      <source-position filename="regress.h" line="1203"/>
       <return-value transfer-ownership="none">
         <type name="gint" c:type="int"/>
       </return-value>
@@ -7380,14 +7436,14 @@ condition in bindings which needs to be tested.</doc>
               c:identifier="regress_test_callback_thaw_notifications">
       <doc xml:space="preserve"
            filename="regress.c"
-           line="3942">Invokes all callbacks installed by #test_callback_destroy_notify(),
+           line="4041">Invokes all callbacks installed by #test_callback_destroy_notify(),
 adding up their return values, and removes them, invoking the
 corresponding destroy notfications.</doc>
-      <source-position filename="regress.h" line="1169"/>
+      <source-position filename="regress.h" line="1196"/>
       <return-value transfer-ownership="none">
         <doc xml:space="preserve"
              filename="regress.c"
-             line="3949">Sum of the return values of the invoked callbacks.</doc>
+             line="4048">Sum of the return values of the invoked callbacks.</doc>
         <type name="gint" c:type="int"/>
       </return-value>
     </function>
@@ -7395,9 +7451,9 @@ corresponding destroy notfications.</doc>
               c:identifier="regress_test_callback_user_data">
       <doc xml:space="preserve"
            filename="regress.c"
-           line="3870">Call - callback parameter persists for the duration of the method
+           line="3969">Call - callback parameter persists for the duration of the method
 call and can be released on return.</doc>
-      <source-position filename="regress.h" line="1153"/>
+      <source-position filename="regress.h" line="1180"/>
       <return-value transfer-ownership="none">
         <type name="gint" c:type="int"/>
       </return-value>
@@ -7469,7 +7525,7 @@ call and can be released on return.</doc>
     </function>
     <function name="test_create_fundamental_hidden_class_instance"
               c:identifier="regress_test_create_fundamental_hidden_class_instance">
-      <source-position filename="regress.h" line="1089"/>
+      <source-position filename="regress.h" line="1108"/>
       <return-value transfer-ownership="full">
         <type name="TestFundamentalObject"
               c:type="RegressTestFundamentalObject*"/>
@@ -7477,7 +7533,7 @@ call and can be released on return.</doc>
     </function>
     <function name="test_date_in_gvalue"
               c:identifier="regress_test_date_in_gvalue">
-      <source-position filename="regress.h" line="1319"/>
+      <source-position filename="regress.h" line="1346"/>
       <return-value transfer-ownership="full">
         <type name="GObject.Value" c:type="GValue*"/>
       </return-value>
@@ -7562,7 +7618,7 @@ call and can be released on return.</doc>
     </function>
     <function name="test_gerror_callback"
               c:identifier="regress_test_gerror_callback">
-      <source-position filename="regress.h" line="1198"/>
+      <source-position filename="regress.h" line="1225"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -8025,7 +8081,7 @@ element-type annotation.</doc>
     </function>
     <function name="test_hash_table_callback"
               c:identifier="regress_test_hash_table_callback">
-      <source-position filename="regress.h" line="1195"/>
+      <source-position filename="regress.h" line="1222"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -8033,7 +8089,7 @@ element-type annotation.</doc>
         <parameter name="data" transfer-ownership="none">
           <doc xml:space="preserve"
                filename="regress.c"
-               line="4073">GHashTable that gets passed to callback</doc>
+               line="4172">GHashTable that gets passed to callback</doc>
           <type name="GLib.HashTable" c:type="GHashTable*">
             <type name="utf8"/>
             <type name="gint"/>
@@ -8143,7 +8199,7 @@ element-type annotation.</doc>
     </function>
     <function name="test_multi_callback"
               c:identifier="regress_test_multi_callback">
-      <source-position filename="regress.h" line="1144"/>
+      <source-position filename="regress.h" line="1171"/>
       <return-value transfer-ownership="none">
         <type name="gint" c:type="int"/>
       </return-value>
@@ -8185,14 +8241,14 @@ element-type annotation.</doc>
               c:identifier="regress_test_multiline_doc_comments">
       <doc xml:space="preserve"
            filename="regress.c"
-           line="4455">This is a function.
+           line="4554">This is a function.
 
 It has multiple lines in the documentation.
 
 The sky is blue.
 
 You will give me your credit card number.</doc>
-      <source-position filename="regress.h" line="1333"/>
+      <source-position filename="regress.h" line="1360"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -8201,7 +8257,7 @@ You will give me your credit card number.</doc>
               c:identifier="regress_test_nested_parameter">
       <doc xml:space="preserve"
            filename="regress.c"
-           line="4471">&lt;informaltable&gt;
+           line="4570">&lt;informaltable&gt;
   &lt;tgroup cols="3"&gt;
     &lt;thead&gt;
       &lt;row&gt;
@@ -8229,7 +8285,7 @@ rgb(20%, 30%, 0%)&lt;/literallayout&gt;&lt;/entry&gt;
 &lt;/informaltable&gt;
 
 What we're testing here is that the scanner ignores the @a nested inside XML.</doc>
-      <source-position filename="regress.h" line="1336"/>
+      <source-position filename="regress.h" line="1363"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -8237,14 +8293,14 @@ What we're testing here is that the scanner ignores the @a nested inside XML.</d
         <parameter name="a" transfer-ownership="none">
           <doc xml:space="preserve"
                filename="regress.c"
-               line="4473">An integer</doc>
+               line="4572">An integer</doc>
           <type name="gint" c:type="int"/>
         </parameter>
       </parameters>
     </function>
     <function name="test_noptr_callback"
               c:identifier="regress_test_noptr_callback">
-      <source-position filename="regress.h" line="1138"/>
+      <source-position filename="regress.h" line="1165"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -8260,7 +8316,7 @@ What we're testing here is that the scanner ignores the @a nested inside XML.</d
     </function>
     <function name="test_null_gerror_callback"
               c:identifier="regress_test_null_gerror_callback">
-      <source-position filename="regress.h" line="1201"/>
+      <source-position filename="regress.h" line="1228"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -8272,14 +8328,14 @@ What we're testing here is that the scanner ignores the @a nested inside XML.</d
     </function>
     <function name="test_null_strv_in_gvalue"
               c:identifier="regress_test_null_strv_in_gvalue">
-      <source-position filename="regress.h" line="1325"/>
+      <source-position filename="regress.h" line="1352"/>
       <return-value transfer-ownership="full">
         <type name="GObject.Value" c:type="GValue*"/>
       </return-value>
     </function>
     <function name="test_owned_gerror_callback"
               c:identifier="regress_test_owned_gerror_callback">
-      <source-position filename="regress.h" line="1204"/>
+      <source-position filename="regress.h" line="1231"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -8325,7 +8381,7 @@ What we're testing here is that the scanner ignores the @a nested inside XML.</d
     </function>
     <function name="test_simple_callback"
               c:identifier="regress_test_simple_callback">
-      <source-position filename="regress.h" line="1135"/>
+      <source-position filename="regress.h" line="1162"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -8355,9 +8411,9 @@ What we're testing here is that the scanner ignores the @a nested inside XML.</d
               introspectable="0">
       <doc xml:space="preserve"
            filename="regress.c"
-           line="4123">Should not emit a warning:
+           line="4222">Should not emit a warning:
 https://bugzilla.gnome.org/show_bug.cgi?id=685399</doc>
-      <source-position filename="regress.h" line="1208"/>
+      <source-position filename="regress.h" line="1235"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -8365,7 +8421,7 @@ https://bugzilla.gnome.org/show_bug.cgi?id=685399</doc>
         <parameter name="callback" transfer-ownership="none">
           <doc xml:space="preserve"
                filename="regress.c"
-               line="4125">No annotation here</doc>
+               line="4224">No annotation here</doc>
           <type name="TestCallback" c:type="RegressTestCallback"/>
         </parameter>
       </parameters>
@@ -8421,7 +8477,7 @@ https://bugzilla.gnome.org/show_bug.cgi?id=685399</doc>
     </function>
     <function name="test_strv_in_gvalue"
               c:identifier="regress_test_strv_in_gvalue">
-      <source-position filename="regress.h" line="1322"/>
+      <source-position filename="regress.h" line="1349"/>
       <return-value transfer-ownership="full">
         <type name="GObject.Value" c:type="GValue*"/>
       </return-value>
@@ -8480,7 +8536,7 @@ https://bugzilla.gnome.org/show_bug.cgi?id=685399</doc>
     </function>
     <function name="test_torture_signature_0"
               c:identifier="regress_test_torture_signature_0">
-      <source-position filename="regress.h" line="1290"/>
+      <source-position filename="regress.h" line="1317"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
@@ -8519,8 +8575,8 @@ https://bugzilla.gnome.org/show_bug.cgi?id=685399</doc>
               throws="1">
       <doc xml:space="preserve"
            filename="regress.c"
-           line="4343">This function throws an error if m is odd.</doc>
-      <source-position filename="regress.h" line="1298"/>
+           line="4442">This function throws an error if m is odd.</doc>
+      <source-position filename="regress.h" line="1325"/>
       <return-value transfer-ownership="none">
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
@@ -8556,7 +8612,7 @@ https://bugzilla.gnome.org/show_bug.cgi?id=685399</doc>
     </function>
     <function name="test_torture_signature_2"
               c:identifier="regress_test_torture_signature_2">
-      <source-position filename="regress.h" line="1307"/>
+      <source-position filename="regress.h" line="1334"/>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
diff --git a/tests/scanner/Regress-1.0-sections-expected.txt b/tests/scanner/Regress-1.0-sections-expected.txt
index 36cb4c69..2bc762b9 100644
--- a/tests/scanner/Regress-1.0-sections-expected.txt
+++ b/tests/scanner/Regress-1.0-sections-expected.txt
@@ -317,6 +317,13 @@ RegressTestFundamentalObjectClass
 regress_test_fundamental_object_ref
 regress_test_fundamental_object_unref
 
+<SECTION>
+<FILE>regress-test-fundamental-object-no-get-set-func</FILE>
+<TITLE>RegressTestFundamentalObjectNoGetSetFunc</TITLE>
+RegressTestFundamentalObjectNoGetSetFunc
+RegressTestFundamentalObjectNoGetSetFuncClass
+regress_test_fundamental_object_no_get_set_func_get_data
+
 <SECTION>
 <FILE>regress-test-fundamental-sub-object</FILE>
 <TITLE>RegressTestFundamentalSubObject</TITLE>
diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c
index 26285d24..3595c91d 100644
--- a/tests/scanner/regress.c
+++ b/tests/scanner/regress.c
@@ -3760,6 +3760,105 @@ regress_test_create_fundamental_hidden_class_instance (void)
 }
 
 
+/**
+ * RegressTestFundamentalObjectNoGetSetFunc: (ref-func regress_test_fundamental_object_ref) (unref-func 
regress_test_fundamental_object_unref)
+ *
+ * Just like a #RegressTestFundamentalObject but without gvalue setter and getter
+ */
+
+static void
+regress_test_fundamental_object_no_get_set_func_finalize (RegressTestFundamentalObjectNoGetSetFunc *self)
+{
+  g_clear_pointer(&self->data, g_free);
+}
+
+static RegressTestFundamentalObjectNoGetSetFunc *
+regress_test_fundamental_object_no_get_set_func_copy (RegressTestFundamentalObjectNoGetSetFunc *self)
+{
+  return regress_test_fundamental_object_no_get_set_func_new (self->data);
+}
+
+static void
+regress_test_fundamental_object_no_get_set_func_class_init (gpointer g_class,
+                                                            gpointer class_data G_GNUC_UNUSED)
+{
+  RegressTestFundamentalObjectClass *mo_class = (RegressTestFundamentalObjectClass*) (g_class);
+
+  mo_class->copy = (RegressTestFundamentalObjectCopyFunction) 
regress_test_fundamental_object_no_get_set_func_copy;
+  mo_class->finalize = (RegressTestFundamentalObjectFinalizeFunction) 
regress_test_fundamental_object_no_get_set_func_finalize;
+}
+
+static void
+regress_test_fundamental_object_no_get_set_func_init (GTypeInstance *instance,
+                                                      gpointer       klass G_GNUC_UNUSED)
+{
+  RegressTestFundamentalObject *object = (RegressTestFundamentalObject*) (instance);
+  object->refcount = 1;
+}
+
+GType
+regress_test_fundamental_object_no_get_set_func_get_type (void)
+{
+  static GType _test_fundamental_object_type = 0;
+
+  if (G_UNLIKELY (_test_fundamental_object_type == 0)) {
+    static const GTypeValueTable value_table = {
+      regress_test_value_fundamental_object_init,
+      regress_test_value_fundamental_object_free,
+      regress_test_value_fundamental_object_copy,
+      regress_test_value_fundamental_object_peek_pointer,
+      (char *) "p",
+      regress_test_value_fundamental_object_collect,
+      (char *) "p",
+      regress_test_value_fundamental_object_lcopy
+    };
+    static const GTypeInfo fundamental_object_info = {
+      sizeof (RegressTestFundamentalObjectNoGetSetFuncClass),
+      NULL, NULL,
+      regress_test_fundamental_object_no_get_set_func_class_init,
+      NULL,
+      NULL,
+      sizeof (RegressTestFundamentalObjectNoGetSetFunc),
+      0,
+      (GInstanceInitFunc) regress_test_fundamental_object_no_get_set_func_init,
+      &value_table
+    };
+    static const GTypeFundamentalInfo fundamental_object_fundamental_info = {
+      (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE |
+          G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE)
+    };
+
+    _test_fundamental_object_type = g_type_fundamental_next ();
+    g_type_register_fundamental (_test_fundamental_object_type, "RegressTestFundamentalObjectNoGetSetFunc",
+        &fundamental_object_info, &fundamental_object_fundamental_info, 0);
+  }
+
+  return _test_fundamental_object_type;
+}
+
+/**
+ * regress_test_fundamental_object_no_get_set_func_new:
+ *
+ * Return value: (transfer full):
+ */
+RegressTestFundamentalObjectNoGetSetFunc *
+regress_test_fundamental_object_no_get_set_func_new (const char *data)
+{
+  RegressTestFundamentalObjectNoGetSetFunc *object;
+
+  object = (RegressTestFundamentalObjectNoGetSetFunc *) g_type_create_instance 
(regress_test_fundamental_object_no_get_set_func_get_type ());
+  object->data = g_strdup (data);
+
+  return object;
+}
+
+const char *
+regress_test_fundamental_object_no_get_set_func_get_data (RegressTestFundamentalObjectNoGetSetFunc 
*fundamental)
+{
+  g_return_val_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (fundamental, 
regress_test_fundamental_object_no_get_set_func_get_type ()), NULL);
+
+  return fundamental->data;
+}
 
 /**
  * regress_test_callback:
diff --git a/tests/scanner/regress.h b/tests/scanner/regress.h
index 68ab0628..d0f96216 100644
--- a/tests/scanner/regress.h
+++ b/tests/scanner/regress.h
@@ -1079,6 +1079,25 @@ struct _RegressTestFundamentalSubObjectClass {
 _GI_TEST_EXTERN
 GType regress_test_fundamental_sub_object_get_type(void);
 
+struct _RegressTestFundamentalObjectNoGetSetFunc {
+  /* This is not really an RegressTestFundamentalObject but we "inherit"
+   * the structure from it */
+  /* < private > */
+  RegressTestFundamentalObject fundamental_object;
+
+  /* < public > */
+  char *data;
+};
+
+struct _RegressTestFundamentalObjectNoGetSetFuncClass {
+  RegressTestFundamentalObjectClass fundamental_object_class;
+};
+
+typedef struct _RegressTestFundamentalObjectNoGetSetFunc RegressTestFundamentalObjectNoGetSetFunc;
+typedef struct _RegressTestFundamentalObjectNoGetSetFuncClass RegressTestFundamentalObjectNoGetSetFuncClass;
+
+_GI_TEST_EXTERN
+GType regress_test_fundamental_object_no_get_set_func_get_type (void);
 
 _GI_TEST_EXTERN
 RegressTestFundamentalSubObject *
@@ -1088,6 +1107,14 @@ _GI_TEST_EXTERN
 RegressTestFundamentalObject *
 regress_test_create_fundamental_hidden_class_instance (void);
 
+_GI_TEST_EXTERN
+RegressTestFundamentalObjectNoGetSetFunc *
+regress_test_fundamental_object_no_get_set_func_new (const char *data);
+
+_GI_TEST_EXTERN
+const char *
+regress_test_fundamental_object_no_get_set_func_get_data (RegressTestFundamentalObjectNoGetSetFunc 
*fundamental);
+
 /* callback */
 typedef void (*RegressTestSimpleCallback) (void);
 typedef void RegressTestNoPtrCallback (void);


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