[vala/0.52] girwriter: Fix position of "result" parameter for struct constructor
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/0.52] girwriter: Fix position of "result" parameter for struct constructor
- Date: Mon, 9 Aug 2021 06:37:54 +0000 (UTC)
commit 8bbb40dace8da65b379b1d82e7e0509af8ac9dbe
Author: Rico Tzschichholz <ricotz ubuntu com>
Date: Thu Aug 5 17:14:48 2021 +0200
girwriter: Fix position of "result" parameter for struct constructor
Thanks to Princeton Ferro
codegen/valagirwriter.vala | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
---
diff --git a/codegen/valagirwriter.vala b/codegen/valagirwriter.vala
index ef0cd5f07..07b6f1e4c 100644
--- a/codegen/valagirwriter.vala
+++ b/codegen/valagirwriter.vala
@@ -1202,6 +1202,11 @@ public class Vala.GIRWriter : CodeVisitor {
}
}
+ if (constructor && ret_is_struct) {
+ // struct constructor has its result as first parameter
+ write_param_or_return (return_type, "parameter", ref index, false, "result",
return_comment, ParameterDirection.OUT, constructor, true);
+ }
+
if (type_params != null) {
foreach (var p in type_params) {
write_type_parameter (p, "parameter");
@@ -1215,10 +1220,10 @@ public class Vala.GIRWriter : CodeVisitor {
write_implicit_params (param.variable_type, ref index, get_ccode_array_length
(param), get_ccode_name (param), param.direction);
}
- if (ret_is_struct) {
+ if (!constructor && ret_is_struct) {
// struct returns are converted to parameters
write_param_or_return (return_type, "parameter", ref index, false, "result",
return_comment, ParameterDirection.OUT, constructor, true);
- } else {
+ } else if (!constructor) {
write_implicit_params (return_type, ref index, return_array_length, "result",
ParameterDirection.OUT);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]