]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Report error when initializing constants or fields in bindings
authorJürg Billeter <j@bitron.ch>
Mon, 27 Jul 2009 17:30:41 +0000 (19:30 +0200)
committerJürg Billeter <j@bitron.ch>
Mon, 27 Jul 2009 17:30:41 +0000 (19:30 +0200)
Fixes bug 556197.

vala/valaconstant.vala
vala/valafield.vala

index 1aa299a54bd479532f2e26032cb8927b6b1796f8..54722c37ab80e7e053d35c21eb03f9b59d58176a 100644 (file)
@@ -191,6 +191,11 @@ public class Vala.Constant : Member, Lockable {
                                        return false;
                                }
                        }
+               } else {
+                       if (initializer != null) {
+                               error = true;
+                               Report.error (source_reference, "External constants cannot use initializers");
+                       }
                }
 
                if (!external_package && !hides && get_hidden_member () != null) {
index 420f7f9eed5ac8c01e7286917c3964a955460c46..43336a89f490ff7e0b7badd6e654342f0ff35285 100644 (file)
@@ -319,6 +319,11 @@ public class Vala.Field : Member, Lockable {
                                Report.error (source_reference, "Cannot convert from `%s' to `%s'".printf (initializer.value_type.to_string (), field_type.to_string ()));
                                return false;
                        }
+
+                       if (external) {
+                               error = true;
+                               Report.error (source_reference, "External fields cannot use initializers");
+                       }
                }
 
                if (binding == MemberBinding.INSTANCE && parent_symbol is Interface) {