]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Report error on invalid initializer expression
authorLuca Bruno <lucabru@src.gnome.org>
Sun, 19 Dec 2010 09:46:22 +0000 (10:46 +0100)
committerJürg Billeter <j@bitron.ch>
Sun, 19 Dec 2010 13:52:06 +0000 (14:52 +0100)
Fixes bug 637521.

vala/valaarraycreationexpression.vala
vala/valaassignment.vala
vala/valainitializerlist.vala

index 1c72d6b5cf457043fc3898b658e6b6d97518ae1c..3b52748ff9e9cea6fb42674860ca8a87e0c548a6 100644 (file)
@@ -190,7 +190,9 @@ public class Vala.ArrayCreationExpression : Expression {
                if (initlist != null) {
                        initlist.target_type = new ArrayType (element_type, rank, source_reference);
 
-                       initlist.check (context);
+                       if (!initlist.check (context)) {
+                               error = true;
+                       }
 
                        var ret = create_sizes_from_initializer_list (context, initlist, rank, calc_sizes);
                        if (ret == -1) {
index f0b4742185d8e281a93409c5d72e2047129f36d7..f95906099304f3c914df11c220b71862fc6258da 100644 (file)
@@ -341,7 +341,7 @@ public class Vala.Assignment : Expression {
                                        right.value_type = variable.variable_type;
                                } else {
                                        error = true;
-                                       Report.error (source_reference, "Assignment: Invalid callback assignment attempt");
+                                       Report.error (source_reference, "Assignment: Invalid assignment attempt");
                                        return false;
                                }
                        }
index 5ed9ba86fe2eaf32f17e6c56c1bb8dcbe18c15b4..a6208ced929f002790acc828c8c0bffa1be35240 100644 (file)
@@ -178,6 +178,7 @@ public class Vala.InitializerList : Expression {
                foreach (Expression e in get_initializers ()) {
                        if (e.value_type == null) {
                                error = true;
+                               Report.error (e.source_reference, "expression type not allowed as initializer");
                                continue;
                        }