[vala] dova: Do not support foreach without iterator
- From: Jürg Billeter <juergbi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala] dova: Do not support foreach without iterator
- Date: Sat, 13 Mar 2010 20:52:45 +0000 (UTC)
commit c465f8909c5957035191f5c34ab876219281c0d9
Author: Jürg Billeter <j bitron ch>
Date: Sat Mar 13 21:49:39 2010 +0100
dova: Do not support foreach without iterator
vala/valaforeachstatement.vala | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/vala/valaforeachstatement.vala b/vala/valaforeachstatement.vala
index 401e43a..0de1cb8 100644
--- a/vala/valaforeachstatement.vala
+++ b/vala/valaforeachstatement.vala
@@ -167,14 +167,14 @@ public class Vala.ForeachStatement : Block {
var collection_type = collection.value_type.copy ();
collection.target_type = collection_type.copy ();
- if (collection_type.is_array ()) {
+ if (analyzer.context.profile != Profile.DOVA && collection_type.is_array ()) {
var array_type = (ArrayType) collection_type;
// can't use inline-allocated array for temporary variable
array_type.inline_allocated = false;
return check_without_iterator (analyzer, collection_type, array_type.element_type);
- } else if (collection_type.compatible (analyzer.glist_type) || collection_type.compatible (analyzer.gslist_type)) {
+ } else if (analyzer.context.profile == Profile.GOBJECT && (collection_type.compatible (analyzer.glist_type) || collection_type.compatible (analyzer.gslist_type))) {
if (collection_type.get_type_arguments ().size != 1) {
error = true;
Report.error (collection.source_reference, "missing type argument for collection");
@@ -182,7 +182,7 @@ public class Vala.ForeachStatement : Block {
}
return check_without_iterator (analyzer, collection_type, collection_type.get_type_arguments ().get (0));
- } else if (collection_type.compatible (analyzer.gvaluearray_type)) {
+ } else if (analyzer.context.profile == Profile.GOBJECT && collection_type.compatible (analyzer.gvaluearray_type)) {
return check_without_iterator (analyzer, collection_type, analyzer.gvalue_type);
} else {
return check_with_iterator (analyzer, collection_type);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]