From: Jürg Billeter Date: Mon, 27 Jul 2009 17:30:41 +0000 (+0200) Subject: Report error when initializing constants or fields in bindings X-Git-Tag: 0.7.5~60 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2685caf7e0ee6bba8bbe0643d993a08fab37395f;p=thirdparty%2Fvala.git Report error when initializing constants or fields in bindings Fixes bug 556197. --- diff --git a/vala/valaconstant.vala b/vala/valaconstant.vala index 1aa299a54..54722c37a 100644 --- a/vala/valaconstant.vala +++ b/vala/valaconstant.vala @@ -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) { diff --git a/vala/valafield.vala b/vala/valafield.vala index 420f7f9ee..43336a89f 100644 --- a/vala/valafield.vala +++ b/vala/valafield.vala @@ -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) {