]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
girwriter: Use "optional" and "nullable" instead of deprecated "allow-none"
authorRico Tzschichholz <ricotz@ubuntu.com>
Wed, 31 Mar 2021 12:33:10 +0000 (14:33 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Thu, 24 Jun 2021 12:14:38 +0000 (14:14 +0200)
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1131

codegen/valagirwriter.vala
tests/girwriter/GirTest-1.0.gir-expected

index d60c3da3dc2780e4ea5c7f975874c6abdb5a5ba0..2911e15db5b3204ae7bdc6cef7da3d92eb07b5b9 100644 (file)
@@ -1008,7 +1008,7 @@ public class Vala.GIRWriter : CodeVisitor {
                write_indent ();
                buffer.append_printf ("<field name=\"%s\"", get_ccode_name (f));
                if (f.variable_type.nullable) {
-                       buffer.append_printf (" allow-none=\"1\"");
+                       buffer.append_printf (" nullable=\"1\"");
                }
                write_symbol_attributes (f);
                buffer.append_printf (">\n");
@@ -1560,7 +1560,12 @@ public class Vala.GIRWriter : CodeVisitor {
                        buffer.append_printf (" caller-allocates=\"1\"");
                }
                if (type != null && type.nullable) {
-                       buffer.append_printf (" allow-none=\"1\"");
+                       if (tag == "parameter"
+                           && (direction == ParameterDirection.OUT || direction == ParameterDirection.REF)) {
+                               buffer.append_printf (" optional=\"1\"");
+                       } else {
+                               buffer.append_printf (" nullable=\"1\"");
+                       }
                }
 
                if (delegate_type != null && delegate_type.delegate_symbol.has_target) {
index d4bb4291e214e6c83c63fce82cfde9d877b41a56..13fa4a5aeb6282d6a05dbc9554c18a25042b3733 100644 (file)
                                <type name="gint" c:type="gint"/>
                        </array>
                </field>
-               <field name="nullable_field" allow-none="1">
+               <field name="nullable_field" nullable="1">
                        <type name="utf8" c:type="gchar*"/>
                </field>
                <constructor name="new" c:identifier="gir_test_object_test_new">
                                <instance-parameter name="self" transfer-ownership="none">
                                        <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
                                </instance-parameter>
-                               <parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
+                               <parameter name="result_target" direction="out" transfer-ownership="none" optional="1">
                                        <type name="gpointer" c:type="void**"/>
                                </parameter>
                                <parameter name="result_target_destroy_notify" direction="out" transfer-ownership="none" scope="call">
                                <parameter name="a_length1" direction="out" transfer-ownership="none">
                                        <type name="gint" c:type="gint*"/>
                                </parameter>
-                               <parameter name="result_target" direction="out" transfer-ownership="none" allow-none="1">
+                               <parameter name="result_target" direction="out" transfer-ownership="none" optional="1">
                                        <type name="gpointer" c:type="void**"/>
                                </parameter>
                                <parameter name="result_target_destroy_notify" direction="out" transfer-ownership="none" scope="call">
                                <parameter name="d" direction="out" transfer-ownership="none" closure="2" scope="notified" destroy="3">
                                        <type name="GirTest.DelegateTest" c:type="GirTestDelegateTest*"/>
                                </parameter>
-                               <parameter name="d_target" direction="out" transfer-ownership="none" allow-none="1">
+                               <parameter name="d_target" direction="out" transfer-ownership="none" optional="1">
                                        <type name="gpointer" c:type="void**"/>
                                </parameter>
                                <parameter name="d_target_destroy_notify" direction="out" transfer-ownership="none" scope="call">
                        </parameters>
                </method>
                <method name="generic_array_container_return" c:identifier="gir_test_object_test_generic_array_container_return">
-                       <return-value transfer-ownership="container" allow-none="1">
+                       <return-value transfer-ownership="container" nullable="1">
                                <array name="GLib.PtrArray" c:type="GPtrArray*">
                                        <type name="utf8" c:type="const gchar*"/>
                                </array>
                                <instance-parameter name="self" transfer-ownership="none">
                                        <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
                                </instance-parameter>
-                               <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="1" scope="async">
+                               <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="1" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
-                               <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                               <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                        </parameters>
                                <instance-parameter name="self" transfer-ownership="none">
                                        <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
                                </instance-parameter>
-                               <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="1" scope="async">
+                               <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="1" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
-                               <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                               <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                        </parameters>
                                <instance-parameter name="self" transfer-ownership="none">
                                        <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
                                </instance-parameter>
-                               <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="1" scope="async">
+                               <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="1" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
-                               <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                               <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                        </parameters>
                                <parameter name="i1" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
-                               <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="2" scope="async">
+                               <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="2" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
-                               <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                               <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                        </parameters>
                                <parameter name="i1" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
-                               <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="2" scope="async">
+                               <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="2" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
-                               <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                               <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                        </parameters>
                                <instance-parameter name="self" transfer-ownership="none">
                                        <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
                                </instance-parameter>
-                               <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="1" scope="async">
+                               <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="1" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
-                               <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                               <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                        </parameters>
                                <parameter name="param2" transfer-ownership="none" closure="3" scope="notified" destroy="4">
                                        <type name="GirTest.DelegateTest" c:type="GirTestDelegateTest"/>
                                </parameter>
-                               <parameter name="param2_target" transfer-ownership="none" allow-none="1">
+                               <parameter name="param2_target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                                <parameter name="param2_target_destroy_notify" transfer-ownership="none" scope="call">
                                <parameter name="param2" transfer-ownership="none" closure="3" scope="notified" destroy="4">
                                        <type name="GirTest.DelegateTest" c:type="GirTestDelegateTest"/>
                                </parameter>
-                               <parameter name="param2_target" transfer-ownership="none" allow-none="1">
+                               <parameter name="param2_target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                                <parameter name="param2_target_destroy_notify" transfer-ownership="none" scope="call">
                                        <parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
                                        </parameter>
-                                       <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="2" scope="async">
+                                       <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="2" scope="async">
                                                <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                        </parameter>
-                                       <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                                       <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                                <type name="gpointer" c:type="void*"/>
                                        </parameter>
                                </parameters>
                                        <parameter name="i1" transfer-ownership="none">
                                                <type name="gint" c:type="gint"/>
                                        </parameter>
-                                       <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="3" scope="async">
+                                       <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="3" scope="async">
                                                <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                        </parameter>
-                                       <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                                       <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                                <type name="gpointer" c:type="void*"/>
                                        </parameter>
                                </parameters>
                                        <parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.ObjectTest" c:type="GirTestObjectTest*"/>
                                        </parameter>
-                                       <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="2" scope="async">
+                                       <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="2" scope="async">
                                                <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                        </parameter>
-                                       <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                                       <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                                <type name="gpointer" c:type="void*"/>
                                        </parameter>
                                </parameters>
                                        <parameter name="param2" transfer-ownership="none" closure="4" scope="notified" destroy="5">
                                                <type name="GirTest.DelegateTest" c:type="GirTestDelegateTest"/>
                                        </parameter>
-                                       <parameter name="param2_target" transfer-ownership="none" allow-none="1">
+                                       <parameter name="param2_target" transfer-ownership="none" nullable="1">
                                                <type name="gpointer" c:type="void*"/>
                                        </parameter>
                                        <parameter name="param2_target_destroy_notify" transfer-ownership="none" scope="call">
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
-                               <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="2" scope="async">
+                               <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="2" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
-                               <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                               <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                        </parameters>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
-                               <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="2" scope="async">
+                               <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="2" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
-                               <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                               <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                        </parameters>
                                <instance-parameter name="self" transfer-ownership="none">
                                        <type name="GirTest.AbstractObjectTest" c:type="GirTestAbstractObjectTest*"/>
                                </instance-parameter>
-                               <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="1" scope="async">
+                               <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="1" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
-                               <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                               <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                        </parameters>
                                <parameter name="param2" transfer-ownership="none" closure="3" scope="notified" destroy="4">
                                        <type name="GirTest.DelegateTest" c:type="GirTestDelegateTest"/>
                                </parameter>
-                               <parameter name="param2_target" transfer-ownership="none" allow-none="1">
+                               <parameter name="param2_target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                                <parameter name="param2_target_destroy_notify" transfer-ownership="none" scope="call">
                                <parameter name="param2" transfer-ownership="none" closure="3" scope="notified" destroy="4">
                                        <type name="GirTest.DelegateTest" c:type="GirTestDelegateTest"/>
                                </parameter>
-                               <parameter name="param2_target" transfer-ownership="none" allow-none="1">
+                               <parameter name="param2_target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                                <parameter name="param2_target_destroy_notify" transfer-ownership="none" scope="call">
                                        <parameter name="param" transfer-ownership="none">
                                                <type name="gint" c:type="gint"/>
                                        </parameter>
-                                       <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="3" scope="async">
+                                       <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="3" scope="async">
                                                <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                        </parameter>
-                                       <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                                       <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                                <type name="gpointer" c:type="void*"/>
                                        </parameter>
                                </parameters>
                                        <parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.AbstractObjectTest" c:type="GirTestAbstractObjectTest*"/>
                                        </parameter>
-                                       <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="2" scope="async">
+                                       <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="2" scope="async">
                                                <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                        </parameter>
-                                       <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                                       <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                                <type name="gpointer" c:type="void*"/>
                                        </parameter>
                                </parameters>
                                        <parameter name="param2" transfer-ownership="none" closure="4" scope="notified" destroy="5">
                                                <type name="GirTest.DelegateTest" c:type="GirTestDelegateTest"/>
                                        </parameter>
-                                       <parameter name="param2_target" transfer-ownership="none" allow-none="1">
+                                       <parameter name="param2_target" transfer-ownership="none" nullable="1">
                                                <type name="gpointer" c:type="void*"/>
                                        </parameter>
                                        <parameter name="param2_target_destroy_notify" transfer-ownership="none" scope="call">
                                <parameter name="cb" transfer-ownership="none" closure="7" scope="notified" destroy="8">
                                        <type name="GirTest.DelegateTest" c:type="GirTestDelegateTest"/>
                                </parameter>
-                               <parameter name="cb_target" transfer-ownership="none" allow-none="1">
+                               <parameter name="cb_target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                                <parameter name="cb_target_destroy_notify" transfer-ownership="none" scope="call">
                                <parameter name="cb" transfer-ownership="none" closure="7" scope="notified" destroy="8">
                                        <type name="GirTest.DelegateGenericsTest" c:type="GirTestDelegateGenericsTest"/>
                                </parameter>
-                               <parameter name="cb_target" transfer-ownership="none" allow-none="1">
+                               <parameter name="cb_target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                                <parameter name="cb_target_destroy_notify" transfer-ownership="none" scope="call">
                                                <type name="gpointer" c:type="gpointer"/>
                                        </type>
                                </instance-parameter>
-                               <parameter name="param" transfer-ownership="none" allow-none="1">
+                               <parameter name="param" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="gpointer"/>
                                </parameter>
                        </parameters>
                                <instance-parameter name="self" transfer-ownership="none">
                                        <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
                                </instance-parameter>
-                               <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="1" scope="async">
+                               <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="1" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
-                               <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                               <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                        </parameters>
                                <instance-parameter name="self" transfer-ownership="none">
                                        <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
                                </instance-parameter>
-                               <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="1" scope="async">
+                               <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="1" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
-                               <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                               <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                        </parameters>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
-                               <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="2" scope="async">
+                               <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="2" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
-                               <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                               <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                        </parameters>
                                <parameter name="param" transfer-ownership="none">
                                        <type name="gint" c:type="gint"/>
                                </parameter>
-                               <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="2" scope="async">
+                               <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="2" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
-                               <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                               <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                        </parameters>
                                <instance-parameter name="self" transfer-ownership="none">
                                        <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
                                </instance-parameter>
-                               <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="1" scope="async">
+                               <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="1" scope="async">
                                        <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                </parameter>
-                               <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                               <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                        </parameters>
                                <parameter name="param2" transfer-ownership="none" closure="3" scope="notified" destroy="4">
                                        <type name="GirTest.DelegateTest" c:type="GirTestDelegateTest"/>
                                </parameter>
-                               <parameter name="param2_target" transfer-ownership="none" allow-none="1">
+                               <parameter name="param2_target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                                <parameter name="param2_target_destroy_notify" transfer-ownership="none" scope="call">
                                <parameter name="param2" transfer-ownership="none" closure="3" scope="notified" destroy="4">
                                        <type name="GirTest.DelegateTest" c:type="GirTestDelegateTest"/>
                                </parameter>
-                               <parameter name="param2_target" transfer-ownership="none" allow-none="1">
+                               <parameter name="param2_target" transfer-ownership="none" nullable="1">
                                        <type name="gpointer" c:type="void*"/>
                                </parameter>
                                <parameter name="param2_target_destroy_notify" transfer-ownership="none" scope="call">
                                        <parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
                                        </parameter>
-                                       <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="2" scope="async">
+                                       <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="2" scope="async">
                                                <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                        </parameter>
-                                       <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                                       <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                                <type name="gpointer" c:type="void*"/>
                                        </parameter>
                                </parameters>
                                        <parameter name="param" transfer-ownership="none">
                                                <type name="gint" c:type="gint"/>
                                        </parameter>
-                                       <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="3" scope="async">
+                                       <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="3" scope="async">
                                                <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                        </parameter>
-                                       <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                                       <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                                <type name="gpointer" c:type="void*"/>
                                        </parameter>
                                </parameters>
                                        <parameter name="self" transfer-ownership="none">
                                                <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
                                        </parameter>
-                                       <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="2" scope="async">
+                                       <parameter name="_callback_" transfer-ownership="none" nullable="1" closure="2" scope="async">
                                                <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
                                        </parameter>
-                                       <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+                                       <parameter name="_callback__target" transfer-ownership="none" nullable="1">
                                                <type name="gpointer" c:type="void*"/>
                                        </parameter>
                                </parameters>
                                        <parameter name="param2" transfer-ownership="none" closure="4" scope="notified" destroy="5">
                                                <type name="GirTest.DelegateTest" c:type="GirTestDelegateTest"/>
                                        </parameter>
-                                       <parameter name="param2_target" transfer-ownership="none" allow-none="1">
+                                       <parameter name="param2_target" transfer-ownership="none" nullable="1">
                                                <type name="gpointer" c:type="void*"/>
                                        </parameter>
                                        <parameter name="param2_target_destroy_notify" transfer-ownership="none" scope="call">
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
-                               <instance-parameter name="self" transfer-ownership="none" allow-none="1">
+                               <instance-parameter name="self" transfer-ownership="none" nullable="1">
                                        <type name="GirTest.BoxedStruct" c:type="GirTestBoxedStruct*"/>
                                </instance-parameter>
                        </parameters>
                                <type name="none" c:type="void"/>
                        </return-value>
                        <parameters>
-                               <instance-parameter name="self" transfer-ownership="none" allow-none="1">
+                               <instance-parameter name="self" transfer-ownership="none" nullable="1">
                                        <type name="GirTest.Struct" c:type="GirTestStruct*"/>
                                </instance-parameter>
                        </parameters>
                        <type name="gboolean" c:type="gboolean"/>
                </return-value>
                <parameters>
-                       <parameter name="a" transfer-ownership="none" allow-none="1">
+                       <parameter name="a" transfer-ownership="none" nullable="1">
                                <type name="gpointer" c:type="void*"/>
                        </parameter>
-                       <parameter name="b" transfer-ownership="none" allow-none="1">
+                       <parameter name="b" transfer-ownership="none" nullable="1">
                                <type name="gpointer" c:type="void*"/>
                        </parameter>
                        <parameter name="user_data" transfer-ownership="none" closure="2">
                        <parameter name="t_destroy_func" transfer-ownership="none">
                                <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
                        </parameter>
-                       <parameter name="g" transfer-ownership="none" allow-none="1">
+                       <parameter name="g" transfer-ownership="none" nullable="1">
                                <type name="gpointer" c:type="gpointer"/>
                        </parameter>
-                       <parameter name="t" transfer-ownership="none" allow-none="1">
+                       <parameter name="t" transfer-ownership="none" nullable="1">
                                <type name="gpointer" c:type="gpointer"/>
                        </parameter>
                        <parameter name="user_data" transfer-ownership="none" closure="8">