finish_name += "_finish";
write_indent ();
- buffer.append_printf("<field name=\"%s\">\n", m.name);
+ buffer.append_printf("<field name=\"%s\"", m.name);
+ write_symbol_attributes (m);
+ buffer.append_printf (">\n");
indent++;
- do_write_signature (m, "callback", true, m.name, get_ccode_name (m), m.get_async_begin_parameters (), new VoidType (), false, false);
+ do_write_signature (m, "callback", true, m.name, get_ccode_name (m), m.get_async_begin_parameters (), new VoidType (), false, false, false);
indent--;
write_indent ();
buffer.append_printf ("</field>\n");
write_indent ();
- buffer.append_printf("<field name=\"%s\">\n", finish_name);
+ buffer.append_printf("<field name=\"%s\"", finish_name);
+ write_symbol_attributes (m);
+ buffer.append_printf (">\n");
indent++;
- do_write_signature (m, "callback", true, finish_name, get_ccode_finish_name (m), m.get_async_end_parameters (), m.return_type, m.tree_can_fail, false);
+ do_write_signature (m, "callback", true, finish_name, get_ccode_finish_name (m), m.get_async_end_parameters (), m.return_type, m.tree_can_fail, false, false);
indent--;
write_indent ();
buffer.append_printf ("</field>\n");
} else {
write_indent ();
- buffer.append_printf("<field name=\"%s\">\n", m.name);
+ buffer.append_printf("<field name=\"%s\"", m.name);
+ write_symbol_attributes (m);
+ buffer.append_printf (">\n");
indent++;
- do_write_signature (m, "callback", true, m.name, get_ccode_name (m), m.get_parameters (), m.return_type, m.tree_can_fail, false);
+ do_write_signature (m, "callback", true, m.name, get_ccode_name (m), m.get_parameters (), m.return_type, m.tree_can_fail, false, false);
indent--;
write_indent ();
buffer.append_printf ("</field>\n");
foreach (Signal sig in cl.get_signals ()) {
if (sig.default_handler != null) {
write_indent ();
- buffer.append_printf ("<field name=\"%s\">\n", get_ccode_lower_case_name (sig));
+ buffer.append_printf ("<field name=\"%s\"", get_ccode_lower_case_name (sig));
+ write_symbol_attributes (sig);
+ buffer.append_printf (">\n");
indent++;
- write_signature (sig.default_handler, "callback", false, true);
+ write_signature (sig.default_handler, "callback", false, true, false);
indent--;
write_indent ();
buffer.append_printf ("</field>\n");
finish_name += "_finish";
write_indent ();
- buffer.append_printf("<field name=\"%s\">\n", m.name);
+ buffer.append_printf("<field name=\"%s\"", m.name);
+ write_symbol_attributes (m);
+ buffer.append_printf (">\n");
indent++;
- do_write_signature (m, "callback", true, m.name, get_ccode_name (m), m.get_async_begin_parameters (), new VoidType (), false, false);
+ do_write_signature (m, "callback", true, m.name, get_ccode_name (m), m.get_async_begin_parameters (), new VoidType (), false, false, false);
indent--;
write_indent ();
buffer.append_printf ("</field>\n");
write_indent ();
- buffer.append_printf("<field name=\"%s\">\n", finish_name);
+ buffer.append_printf("<field name=\"%s\"", finish_name);
+ write_symbol_attributes (m);
+ buffer.append_printf (">\n");
indent++;
- do_write_signature (m, "callback", true, finish_name, get_ccode_finish_name (m), m.get_async_end_parameters (), m.return_type, m.tree_can_fail, false);
+ do_write_signature (m, "callback", true, finish_name, get_ccode_finish_name (m), m.get_async_end_parameters (), m.return_type, m.tree_can_fail, false, false);
indent--;
write_indent ();
buffer.append_printf ("</field>\n");
} else {
write_indent ();
- buffer.append_printf("<field name=\"%s\">\n", m.name);
+ buffer.append_printf("<field name=\"%s\"", m.name);
+ write_symbol_attributes (m);
+ buffer.append_printf (">\n");
indent++;
- do_write_signature (m, "callback", true, m.name, get_ccode_name (m), m.get_parameters (), m.return_type, m.tree_can_fail, false);
+ do_write_signature (m, "callback", true, m.name, get_ccode_name (m), m.get_parameters (), m.return_type, m.tree_can_fail, false, false);
indent--;
write_indent ();
buffer.append_printf ("</field>\n");
if (prop.get_accessor != null) {
var m = prop.get_accessor.get_method ();
write_indent ();
- buffer.append_printf("<field name=\"%s\">\n", m.name);
+ buffer.append_printf("<field name=\"%s\"", m.name);
+ write_symbol_attributes (m);
+ buffer.append_printf (">\n");
indent++;
- do_write_signature (m, "callback", true, m.name, get_ccode_name (m), m.get_parameters (), m.return_type, m.tree_can_fail, false);
+ do_write_signature (m, "callback", true, m.name, get_ccode_name (m), m.get_parameters (), m.return_type, m.tree_can_fail, false, false);
indent--;
write_indent ();
buffer.append_printf ("</field>\n");
if (prop.set_accessor != null && prop.set_accessor.writable) {
var m = prop.set_accessor.get_method ();
write_indent ();
- buffer.append_printf("<field name=\"%s\">\n", m.name);
+ buffer.append_printf("<field name=\"%s\"", m.name);
+ write_symbol_attributes (m);
+ buffer.append_printf (">\n");
indent++;
- do_write_signature (m, "callback", true, m.name, get_ccode_name (m), m.get_parameters (), m.return_type, m.tree_can_fail, false);
+ do_write_signature (m, "callback", true, m.name, get_ccode_name (m), m.get_parameters (), m.return_type, m.tree_can_fail, false, false);
indent--;
write_indent ();
buffer.append_printf ("</field>\n");
return is_visibility (sym);
}
- private void write_signature (Method m, string tag_name, bool write_doc, bool instance = false) {
+ private void write_signature (Method m, string tag_name, bool write_doc, bool instance = false, bool write_attributes = true) {
var parent = this.hierarchy.get (0);
string name;
if (m.parent_symbol != parent) {
finish_name = finish_name.substring (0, finish_name.length - "_async".length);
}
finish_name += "_finish";
- do_write_signature (m, tag_name, instance, name, get_ccode_name (m), m.get_async_begin_parameters (), new VoidType (), false, true);
- do_write_signature (m, tag_name, instance, finish_name, get_ccode_finish_name (m), m.get_async_end_parameters (), m.return_type, m.tree_can_fail, false);
+ do_write_signature (m, tag_name, instance, name, get_ccode_name (m), m.get_async_begin_parameters (), new VoidType (), false, true, write_attributes);
+ do_write_signature (m, tag_name, instance, finish_name, get_ccode_finish_name (m), m.get_async_end_parameters (), m.return_type, m.tree_can_fail, false, write_attributes);
} else {
- do_write_signature (m, tag_name, instance, name, get_ccode_name (m), m.get_parameters (), m.return_type, m.tree_can_fail, true);
+ do_write_signature (m, tag_name, instance, name, get_ccode_name (m), m.get_parameters (), m.return_type, m.tree_can_fail, true, write_attributes);
}
}
- private void do_write_signature (Method m, string tag_name, bool instance, string name, string cname, List<Vala.Parameter> params, DataType return_type, bool can_fail, bool write_comment) {
+ private void do_write_signature (Method m, string tag_name, bool instance, string name, string cname, List<Vala.Parameter> params, DataType return_type, bool can_fail, bool write_comment, bool write_attributes = true) {
write_indent ();
buffer.append_printf ("<%s name=\"%s\"", tag_name, name);
if (tag_name == "virtual-method") {
if (can_fail) {
buffer.append_printf (" throws=\"1\"");
}
- write_symbol_attributes (m);
+ if (write_attributes) {
+ write_symbol_attributes (m);
+ }
buffer.append_printf (">\n");
indent++;
<type name="none"/>
</return-value>
</virtual-method>
+ <method name="method_valist" c:identifier="gir_test_abstract_object_test_method_valist" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="vargs" transfer-ownership="none">
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <virtual-method name="method_valist" invoker="method_valist" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="vargs" transfer-ownership="none">
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="skipped_coroutine_method" c:identifier="gir_test_abstract_object_test_skipped_coroutine_method" introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="2" scope="async">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="skipped_coroutine_method_finish" c:identifier="gir_test_abstract_object_test_skipped_coroutine_method_finish" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <virtual-method name="skipped_coroutine_method" invoker="skipped_coroutine_method" introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="2" scope="async">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="skipped_coroutine_method_finish" invoker="skipped_coroutine_method_finish" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
</class>
<record name="AbstractObjectTestClass" c:type="GirTestAbstractObjectTestClass" glib:is-gtype-struct-for="AbstractObjectTest">
<field name="parent_class" readable="0" private="1">
</parameters>
</callback>
</field>
+ <field name="method_valist" introspectable="0">
+ <callback name="method_valist" c:type="method_valist">
+ <return-value transfer-ownership="full">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.AbstractObjectTest" c:type="GirTestAbstractObjectTest*"/>
+ </parameter>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="vargs" transfer-ownership="none">
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="skipped_coroutine_method" introspectable="0">
+ <callback name="skipped_coroutine_method" c:type="skipped_coroutine_method">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.AbstractObjectTest" c:type="GirTestAbstractObjectTest*"/>
+ </parameter>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="3" scope="async">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="skipped_coroutine_method_finish" introspectable="0">
+ <callback name="skipped_coroutine_method_finish" c:type="skipped_coroutine_method_finish">
+ <return-value transfer-ownership="full">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.AbstractObjectTest" c:type="GirTestAbstractObjectTest*"/>
+ </parameter>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
</record>
<record name="AbstractObjectTestPrivate" c:type="GirTestAbstractObjectTestPrivate" disguised="1"/>
<class name="ImplementionTest" c:type="GirTestImplementionTest" glib:type-name="GirTestImplementionTest" glib:get-type="gir_test_implemention_test_get_type" glib:type-struct="ImplementionTestClass" parent="GObject.Object">
</parameter>
</parameters>
</virtual-method>
+ <method name="method_valist" c:identifier="gir_test_interface_test_method_valist" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="vargs" transfer-ownership="none">
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <virtual-method name="method_valist" invoker="method_valist" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="vargs" transfer-ownership="none">
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="skipped_coroutine_method" c:identifier="gir_test_interface_test_skipped_coroutine_method" introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="2" scope="async">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="skipped_coroutine_method_finish" c:identifier="gir_test_interface_test_skipped_coroutine_method_finish" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <virtual-method name="skipped_coroutine_method" invoker="skipped_coroutine_method" introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="2" scope="async">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="skipped_coroutine_method_finish" invoker="skipped_coroutine_method_finish" introspectable="0">
+ <return-value transfer-ownership="full">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
<property name="property" writable="1" construct="1">
<type name="gint" c:type="gint"/>
</property>
</parameters>
</callback>
</field>
+ <field name="method_valist" introspectable="0">
+ <callback name="method_valist" c:type="method_valist">
+ <return-value transfer-ownership="full">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+ </parameter>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="vargs" transfer-ownership="none">
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="skipped_coroutine_method" introspectable="0">
+ <callback name="skipped_coroutine_method" c:type="skipped_coroutine_method">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+ </parameter>
+ <parameter name="param" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="_callback_" transfer-ownership="none" allow-none="1" closure="3" scope="async">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="_callback__target" transfer-ownership="none" allow-none="1">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="skipped_coroutine_method_finish" introspectable="0">
+ <callback name="skipped_coroutine_method_finish" c:type="skipped_coroutine_method_finish">
+ <return-value transfer-ownership="full">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="GirTest.InterfaceTest" c:type="GirTestInterfaceTest*"/>
+ </parameter>
+ <parameter name="_res_" transfer-ownership="none">
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
<field name="get_property">
<callback name="get_property" c:type="get_property">
<return-value transfer-ownership="none">