[vala] Fix assignment to captured array variables



commit 148737ae45e321f1753e4a4a502f1f40c38f835c
Author: Jürg Billeter <j bitron ch>
Date:   Sat Jan 9 16:53:02 2010 +0100

    Fix assignment to captured array variables

 codegen/valaccodeassignmentmodule.vala |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/codegen/valaccodeassignmentmodule.vala b/codegen/valaccodeassignmentmodule.vala
index 80be69c..c4bb12c 100644
--- a/codegen/valaccodeassignmentmodule.vala
+++ b/codegen/valaccodeassignmentmodule.vala
@@ -156,8 +156,9 @@ internal class Vala.CCodeAssignmentModule : CCodeMemberAccessModule {
 				}
 				if (array_type.rank == 1) {
 					var array_var = assignment.left.symbol_reference;
+					var array_local = array_var as LocalVariable;
 					if (array_var != null && array_var.is_internal_symbol ()
-					    && (array_var is LocalVariable || array_var is Field)) {
+					    && ((array_var is LocalVariable && !array_local.captured) || array_var is Field)) {
 						var lhs_array_size = head.get_array_size_cexpression (assignment.left);
 						var rhs_array_len = head.get_array_length_cexpression (assignment.left, 1);
 						ccomma.append_expression (new CCodeAssignment (lhs_array_size, rhs_array_len));



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