[vala/staging] codegen: Also check array type of variable argument for ref parameters
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/staging] codegen: Also check array type of variable argument for ref parameters
- Date: Mon, 1 Feb 2021 07:33:03 +0000 (UTC)
commit 14c43ac962667ec028683777530a8c84c7703d29
Author: Rico Tzschichholz <ricotz ubuntu com>
Date: Mon Feb 1 08:18:38 2021 +0100
codegen: Also check array type of variable argument for ref parameters
codegen/valaccodemethodcallmodule.vala | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/codegen/valaccodemethodcallmodule.vala b/codegen/valaccodemethodcallmodule.vala
index 11a5b7046..bc28f7fd3 100644
--- a/codegen/valaccodemethodcallmodule.vala
+++ b/codegen/valaccodemethodcallmodule.vala
@@ -950,9 +950,9 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
if (unary != null && unary.operator == UnaryOperator.REF) {
if (param != null && get_ccode_array_length (param) && param.variable_type is
ArrayType
&& !((ArrayType) param.variable_type).fixed_length && ((ArrayType)
param.variable_type).rank == 1) {
- unowned Symbol? array_var = unary.inner.symbol_reference;
- if (array_var != null && array_var.is_internal_symbol ()
- && (array_var is LocalVariable || array_var is Field)) {
+ unowned Variable? array_var = unary.inner.symbol_reference as
Variable;
+ if ((array_var is LocalVariable || array_var is Field) &&
array_var.is_internal_symbol ()
+ && array_var.variable_type is ArrayType && !((ArrayType)
array_var.variable_type).fixed_length) {
ccode.add_assignment (get_array_size_cvalue
(unary.inner.target_value), get_array_length_cvalue (unary.inner.target_value, 1));
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]