From: Simon Werbeck Date: Sun, 31 Mar 2013 21:39:32 +0000 (+0200) Subject: Forbid non-constant initializers for static fields in compact classes X-Git-Tag: 0.25.3~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=aa52b5be484f0c3d4dfcafe249bdf1c72265c778;p=thirdparty%2Fvala.git Forbid non-constant initializers for static fields in compact classes Fixes bug 636509 --- diff --git a/vala/valafield.vala b/vala/valafield.vala index 48986cc0c..e6429a192 100644 --- a/vala/valafield.vala +++ b/vala/valafield.vala @@ -149,6 +149,12 @@ public class Vala.Field : Variable, Lockable { return false; } + if (binding == MemberBinding.STATIC && parent_symbol is Class && ((Class)parent_symbol).is_compact && !initializer.is_constant ()) { + error = true; + Report.error (source_reference, "Static fields in compact classes cannot have non-constant initializers"); + return false; + } + if (external) { error = true; Report.error (source_reference, "External fields cannot use initializers");