]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Check type of field initializers
authorJürg Billeter <j@bitron.ch>
Fri, 10 Jul 2009 11:38:50 +0000 (12:38 +0100)
committerJürg Billeter <j@bitron.ch>
Fri, 10 Jul 2009 11:38:50 +0000 (12:38 +0100)
vala/valafield.vala

index c754a33c679dcc26d693b83d400024f1789d353d..420f7f9eed5ac8c01e7286917c3964a955460c46 100644 (file)
@@ -313,6 +313,12 @@ public class Vala.Field : Member, Lockable {
                        initializer.target_type = field_type;
 
                        initializer.check (analyzer);
+
+                       if (!initializer.value_type.compatible (field_type)) {
+                               error = true;
+                               Report.error (source_reference, "Cannot convert from `%s' to `%s'".printf (initializer.value_type.to_string (), field_type.to_string ()));
+                               return false;
+                       }
                }
 
                if (binding == MemberBinding.INSTANCE && parent_symbol is Interface) {