[vala/tintou/ptr-array-foreach: 2/2] Go back to version 1
- From: Corentin Noël <corentinnoel src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/tintou/ptr-array-foreach: 2/2] Go back to version 1
- Date: Sat, 7 Nov 2020 19:31:46 +0000 (UTC)
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]