[vala/tintou/ptr-array-foreach: 2/2] Go back to version 1




commit 29cd3f07cb6e06685232d301d3e50507e5f9ef60
Author: Corentin Noël <corentin elementary io>
Date:   Sat Nov 7 20:31:19 2020 +0100

    Go back to version 1

 codegen/valaccodecontrolflowmodule.vala | 11 ++---------
 tests/control-flow/foreach.vala         |  4 ++--
 2 files changed, 4 insertions(+), 11 deletions(-)
---
diff --git a/codegen/valaccodecontrolflowmodule.vala b/codegen/valaccodecontrolflowmodule.vala
index 7736db71d..4db4e5def 100644
--- a/codegen/valaccodecontrolflowmodule.vala
+++ b/codegen/valaccodecontrolflowmodule.vala
@@ -328,17 +328,10 @@ public abstract class Vala.CCodeControlFlowModule : CCodeMethodModule {
 
                        CCodeExpression element_expr = get_item;
 
-                       if (collection_type.get_type_arguments ().size != 1) {
-                               Report.error (stmt.source_reference, "internal error: missing generic type 
argument");
-                               stmt.error = true;
-                               return;
+                       if (stmt.type_reference.value_owned) {
+                               element_expr = get_cvalue_ (copy_value (new GLibValue (stmt.type_reference, 
element_expr), new StructValueType (gvalue_type)));
                        }
 
-                       var element_data_type = collection_type.get_type_arguments ().get (0).copy ();
-                       element_data_type.value_owned = false;
-                       element_expr = convert_from_generic_pointer (element_expr, element_data_type);
-                       element_expr = get_cvalue_ (transform_value (new GLibValue (element_data_type, 
element_expr), stmt.type_reference, stmt));
-
                        visit_local_variable (stmt.element_variable);
                        ccode.add_assignment (get_variable_cexpression (get_local_cname 
(stmt.element_variable)), element_expr);
 
diff --git a/tests/control-flow/foreach.vala b/tests/control-flow/foreach.vala
index da169f187..052e03d3c 100644
--- a/tests/control-flow/foreach.vala
+++ b/tests/control-flow/foreach.vala
@@ -36,7 +36,7 @@ void test_foreach_gvaluearray () {
 void test_generic_array_owned (GenericArray<Value?> array) {
        uint i = 0;
 
-       foreach (Value item in array) {
+       foreach (Value? item in array) {
                i++;
        }
 
@@ -46,7 +46,7 @@ void test_generic_array_owned (GenericArray<Value?> array) {
 void test_generic_array_unowned (GenericArray<Value?> array) {
        uint i = 0;
 
-       foreach (unowned Value item in array) {
+       foreach (unowned Value? item in array) {
                i++;
        }
 


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